|
|
<?php
|
|
|
|
|
|
namespace LibModels\Web\Home;
|
|
|
|
|
|
use Api\Sign;
|
|
|
use Api\Yohobuy;
|
|
|
use LibModels\Web\Product\SearchData;
|
|
|
|
|
|
/**
|
|
|
* 购物车的数据模型
|
|
|
*
|
|
|
* @name CartData
|
|
|
* @package LibModels/Web/Home
|
|
|
* @copyright yoho.inc
|
|
|
* @version 1.0 (2016-02-17 14:12:32)
|
|
|
* @author fei.hong <fei.hong@yoho.cn>
|
|
|
*/
|
|
|
class CartData
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* 加入购物车接口
|
|
|
*
|
|
|
* @param int $productSku 商品SKU
|
|
|
* @param int $buyNumber 购买数量
|
|
|
* @param int $goodsType 商品类型,0表示普通商品,1表示加价购商品
|
|
|
* @param int $isEdit 是否是编辑商品SKU,0表示不是编辑
|
|
|
* @param null|int $promotionId 促销id,默认null(加价购有关)
|
|
|
* @param null|int $uid 用户UID,可以不传
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码,可以不传
|
|
|
* @return array 加入购物车接口返回的数据
|
|
|
*/
|
|
|
public static function addToCart($productSku, $buyNumber, $goodsType, $isEdit = 0, $promotionId = null, $uid = null, $shoppingKey = null)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.add';
|
|
|
$param['product_sku'] = $productSku;
|
|
|
$param['buy_number'] = intval($buyNumber);
|
|
|
$param['goods_type'] = $goodsType;
|
|
|
$param['edit_product_sku'] = $isEdit;
|
|
|
$param['selected'] = 'Y';
|
|
|
$param['promotion_id'] = $promotionId;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车商品选择与取消接口
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 购物车接口返回的数据
|
|
|
*/
|
|
|
public static function selectGoods($uid, $sku, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.selected';
|
|
|
$param['product_sku_list'] = $sku;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 购物车接口返回的数据
|
|
|
*/
|
|
|
public static function cartData($uid, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.cart';
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移出购物车
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function removeFromCart($uid, $sku, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.remove';
|
|
|
$param['product_sku_list'] = $sku;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移入收藏夹
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function addToFav($uid, $sku)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.addfavorite';
|
|
|
$param['product_sku_list'] = $sku;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取购物车商品详情数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $skn 商品skn
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function cartProductData($uid, $skn)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.product.data';
|
|
|
$param['product_skn'] = $skn;
|
|
|
$param['showcomment'] = 'N';
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取加价购商品详情数据
|
|
|
*
|
|
|
* @param int $skn 商品skn
|
|
|
* @param int $promotionId 加价购商品促销ID
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function giftProductData($skn, $promotionId)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.product.gift';
|
|
|
$param['product_skn'] = $skn;
|
|
|
$param['promotion_id'] = $promotionId;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 增减购物车商品数量
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品SKU
|
|
|
* @param int $increaseNum 增加的数目
|
|
|
* @param int $decreaseNum 减少的数目
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function modifyProductNum($uid, $sku, $increaseNum, $decreaseNum, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['product_sku'] = $sku;
|
|
|
// 增加
|
|
|
if (!empty($increaseNum)) {
|
|
|
$param['method'] = 'app.Shopping.increase';
|
|
|
$param['increase_number'] = intval($increaseNum);
|
|
|
}
|
|
|
// 减少
|
|
|
if (!empty($decreaseNum)) {
|
|
|
$param['method'] = 'app.Shopping.decrease';
|
|
|
$param['decrease_number'] = intval($decreaseNum);
|
|
|
}
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 修改购物车商品数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $swapData 商品数据
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function modifyCartProduct($uid, $swapData, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.swap';
|
|
|
$param['swap_data'] = $swapData;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $cartType 购物车类型,ordinary表示普通购物车
|
|
|
* @param int $isUseYohoCoin 是否使用有货币,默认0不使用, 1使用
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function cartPay($uid, $cartType, $isUseYohoCoin = 0)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.payment';
|
|
|
$param['cart_type'] = $cartType;
|
|
|
$param['yoho_coin_mode'] = $isUseYohoCoin;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--支付方式和配送方式选择
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $cartType 购物车类型,ordinary表示普通购物车
|
|
|
* @param int $deliveryWay 配送方式,1表示普通快递,2表示顺丰速运
|
|
|
* @param int $paymentType 支付方式,1表示在线支付,2表示货到付款
|
|
|
* @param string $couponCode 优惠券码
|
|
|
* @param mixed $yohoCoin 使用的YOHO币数量
|
|
|
* @param int $redEnvelopes 红包
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function orderCompute($uid, $cartType, $deliveryWay, $paymentType, $couponCode, $yohoCoin, $redEnvelopes)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.compute';
|
|
|
$param['cart_type'] = $cartType;
|
|
|
$param['delivery_way'] = $deliveryWay;
|
|
|
$param['payment_type'] = $paymentType;
|
|
|
if (!empty($couponCode)) {
|
|
|
$param['coupon_code'] = $couponCode;
|
|
|
}
|
|
|
if (!empty($yohoCoin)) {
|
|
|
$param['use_yoho_coin'] = $yohoCoin;
|
|
|
}
|
|
|
if (!empty($redEnvelopes)) {
|
|
|
$param['use_red_envelopes'] = $redEnvelopes;
|
|
|
}
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--使用优惠券
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $couponCode 优惠券代码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function searchCoupon($uid, $couponCode)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.useCoupon';
|
|
|
$param['coupon_code'] = $couponCode;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--获取优惠券列表
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function getCouponList($uid, $limit = 10)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.coupons.lists';
|
|
|
$param['type'] = 'notuse';
|
|
|
$param['page'] = 1;
|
|
|
$param['limit'] = $limit;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--提交结算信息
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $addressId 地址ID
|
|
|
* @param string $cartType 购物车类型
|
|
|
* @param int $deliveryTime 寄送时间ID
|
|
|
* @param int $deliveryWay 寄送方式ID
|
|
|
* @param string $invoiceTitle 发票说明
|
|
|
* @param int $invoiceId 发票类型ID
|
|
|
* @param int $paymentId 支付方式ID
|
|
|
* @param int $paymentType 支付类型ID
|
|
|
* @param string $remark 留言
|
|
|
* @param string $couponCode 优惠券码
|
|
|
* @param mixed $yohoCoin 使用的YOHO币数量或为空
|
|
|
* @param int $isPreContact 送货前是否联系
|
|
|
* @param int $isPrintPrice 是否打印价格
|
|
|
* @param string|null $userAgent 联盟过来用户下单时需要的User-Agent信息
|
|
|
* @param int $redEnvelopes 红包
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function orderSub($uid, $addressId, $cartType, $deliveryTime, $deliveryWay, $invoiceTitle, $invoiceId,
|
|
|
$paymentId, $paymentType, $remark, $couponCode, $yohoCoin, $isPreContact, $isPrintPrice, $userAgent, $redEnvelopes)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['debug'] = 'Y';
|
|
|
$param['client_type'] = 'web'; // 需要ERP统计PC的下单量
|
|
|
$param['private_key'] = Yohobuy::$privateKeyList['web']; // PC默认使用Android的私钥
|
|
|
$param['method'] = 'app.Shopping.submit';
|
|
|
$param['address_id'] = $addressId;
|
|
|
$param['cart_type'] = $cartType;
|
|
|
$param['delivery_time'] = $deliveryTime;
|
|
|
$param['delivery_way'] = $deliveryWay;
|
|
|
$param['uid'] = $uid;
|
|
|
if (!empty($invoiceTitle)) {
|
|
|
$param['invoices_title'] = $invoiceTitle;
|
|
|
}
|
|
|
if (!empty($invoiceId)) {
|
|
|
$param['invoices_type_id'] = $invoiceId;
|
|
|
}
|
|
|
if (!empty($redEnvelopes)) {
|
|
|
$param['use_red_envelopes'] = $redEnvelopes;
|
|
|
}
|
|
|
$param['payment_id'] = $paymentId;
|
|
|
$param['payment_type'] = $paymentType;
|
|
|
if (!empty($couponCode)) {
|
|
|
$param['coupon_code'] = $couponCode;
|
|
|
}
|
|
|
if (!empty($yohoCoin)) {
|
|
|
$param['use_yoho_coin'] = $yohoCoin;
|
|
|
}
|
|
|
if (!empty($isPreContact)) {
|
|
|
$param['is_pre_contact'] = 'Y';
|
|
|
}
|
|
|
if (!empty($isPrintPrice)) {
|
|
|
$param['is_print_price'] = 'Y';
|
|
|
}
|
|
|
$param['remark'] = $remark;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param, false, false, 10, $userAgent);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车数量
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 购物车接口返回的数据
|
|
|
*/
|
|
|
public static function cartCount($uid, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.count';
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 凑单商品
|
|
|
*
|
|
|
* @param int $page 分页页码
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function togetherProduct($page)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'web.product.together';
|
|
|
$param['client_type'] = 'web';
|
|
|
$param['private_key'] = Yohobuy::$privateKeyList['web'];
|
|
|
$param['page'] = $page;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 浏览记录数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $udid 客户端唯一标识
|
|
|
* @param int $page 第几页,默认为1
|
|
|
* @param int $limit 限制多少条,默认100
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function browseRecord($uid, $udid, $page = 1, $limit = 10)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.browse.product';
|
|
|
$param['uid'] = $uid;
|
|
|
$param['udid'] = $udid;
|
|
|
$param['page'] = $page;
|
|
|
$param['limit'] = $limit;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 通过搜索查询商品信息
|
|
|
*
|
|
|
* 备注:因默认的搜索方法会有过滤, 浏览记录不需要过滤
|
|
|
*
|
|
|
* @param string $query 查询的条件
|
|
|
* @param int $limit 查询的限制数
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function browseRecordFromSearch($query, $limit = 10)
|
|
|
{
|
|
|
$param = array();
|
|
|
$param['order'] = 'shelve_time:desc';
|
|
|
$param['page'] = 1;
|
|
|
$param['viewNum'] = $limit;
|
|
|
$param['query'] = $query;
|
|
|
|
|
|
return Yohobuy::get(SearchData::getUrl('search'), $param);
|
|
|
}
|
|
|
|
|
|
} |
|
|
<?php
|
|
|
|
|
|
namespace LibModels\Web\Home;
|
|
|
|
|
|
use Api\Sign;
|
|
|
use Api\Yohobuy;
|
|
|
use LibModels\Web\Product\SearchData;
|
|
|
|
|
|
/**
|
|
|
* 购物车的数据模型
|
|
|
*
|
|
|
* @name CartData
|
|
|
* @package LibModels/Web/Home
|
|
|
* @copyright yoho.inc
|
|
|
* @version 1.0 (2016-02-17 14:12:32)
|
|
|
* @author fei.hong <fei.hong@yoho.cn>
|
|
|
*/
|
|
|
class CartData
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* 加入购物车接口
|
|
|
*
|
|
|
* @param int $productSku 商品SKU
|
|
|
* @param int $buyNumber 购买数量
|
|
|
* @param int $goodsType 商品类型,0表示普通商品,1表示加价购商品
|
|
|
* @param int $isEdit 是否是编辑商品SKU,0表示不是编辑
|
|
|
* @param null|int $promotionId 促销id,默认null(加价购有关)
|
|
|
* @param null|int $uid 用户UID,可以不传
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码,可以不传
|
|
|
* @return array 加入购物车接口返回的数据
|
|
|
*/
|
|
|
public static function addToCart($productSku, $buyNumber, $goodsType, $isEdit = 0, $promotionId = null, $uid = null, $shoppingKey = null)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.add';
|
|
|
$param['product_sku'] = $productSku;
|
|
|
$param['buy_number'] = intval($buyNumber);
|
|
|
$param['goods_type'] = $goodsType;
|
|
|
$param['edit_product_sku'] = $isEdit;
|
|
|
$param['selected'] = 'Y';
|
|
|
$param['promotion_id'] = $promotionId;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车商品选择与取消接口
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @param bool $hasPromotion 是否有促销ID
|
|
|
* @return array 购物车接口返回的数据
|
|
|
*/
|
|
|
public static function selectGoods($uid, $sku, $shoppingKey, $hasPromotion = false)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = $hasPromotion ? 'app.Shopping.selectedAndCart' : 'app.Shopping.selected';
|
|
|
$param['product_sku_list'] = $sku;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 购物车接口返回的数据
|
|
|
*/
|
|
|
public static function cartData($uid, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.cart';
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移出购物车
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @param bool $hasPromotion 是否有促销ID
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function removeFromCart($uid, $sku, $shoppingKey, $hasPromotion = false)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = $hasPromotion ? 'app.Shopping.removeAndCart' : 'app.Shopping.remove';
|
|
|
$param['product_sku_list'] = $sku;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移入收藏夹
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @param bool $hasPromotion 是否有促销ID
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function addToFav($uid, $sku, $hasPromotion = false)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = $hasPromotion ? 'app.Shopping.addfavoriteAndCart' : 'app.Shopping.addfavorite';
|
|
|
$param['product_sku_list'] = $sku;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取购物车商品详情数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $skn 商品skn
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function cartProductData($uid, $skn)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.product.data';
|
|
|
$param['product_skn'] = $skn;
|
|
|
$param['showcomment'] = 'N';
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取加价购商品详情数据
|
|
|
*
|
|
|
* @param int $skn 商品skn
|
|
|
* @param int $promotionId 加价购商品促销ID
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function giftProductData($skn, $promotionId)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.product.gift';
|
|
|
$param['product_skn'] = $skn;
|
|
|
$param['promotion_id'] = $promotionId;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 增减购物车商品数量
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品SKU
|
|
|
* @param int $increaseNum 增加的数目
|
|
|
* @param int $decreaseNum 减少的数目
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function modifyProductNum($uid, $sku, $increaseNum, $decreaseNum, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['product_sku'] = $sku;
|
|
|
// 增加
|
|
|
if (!empty($increaseNum)) {
|
|
|
$param['method'] = 'app.Shopping.increase';
|
|
|
$param['increase_number'] = intval($increaseNum);
|
|
|
}
|
|
|
// 减少
|
|
|
if (!empty($decreaseNum)) {
|
|
|
$param['method'] = 'app.Shopping.decrease';
|
|
|
$param['decrease_number'] = intval($decreaseNum);
|
|
|
}
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 修改购物车商品数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $swapData 商品数据
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function modifyCartProduct($uid, $swapData, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.swap';
|
|
|
$param['swap_data'] = $swapData;
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $cartType 购物车类型,ordinary表示普通购物车
|
|
|
* @param int $isUseYohoCoin 是否使用有货币,默认0不使用, 1使用
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function cartPay($uid, $cartType, $isUseYohoCoin = 0)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.payment';
|
|
|
$param['cart_type'] = $cartType;
|
|
|
$param['yoho_coin_mode'] = $isUseYohoCoin;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--支付方式和配送方式选择
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $cartType 购物车类型,ordinary表示普通购物车
|
|
|
* @param int $deliveryWay 配送方式,1表示普通快递,2表示顺丰速运
|
|
|
* @param int $paymentType 支付方式,1表示在线支付,2表示货到付款
|
|
|
* @param string $couponCode 优惠券码
|
|
|
* @param mixed $yohoCoin 使用的YOHO币数量
|
|
|
* @param int $redEnvelopes 红包
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function orderCompute($uid, $cartType, $deliveryWay, $paymentType, $couponCode, $yohoCoin, $redEnvelopes)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.compute';
|
|
|
$param['cart_type'] = $cartType;
|
|
|
$param['delivery_way'] = $deliveryWay;
|
|
|
$param['payment_type'] = $paymentType;
|
|
|
if (!empty($couponCode)) {
|
|
|
$param['coupon_code'] = $couponCode;
|
|
|
}
|
|
|
if (!empty($yohoCoin)) {
|
|
|
$param['use_yoho_coin'] = $yohoCoin;
|
|
|
}
|
|
|
if (!empty($redEnvelopes)) {
|
|
|
$param['use_red_envelopes'] = $redEnvelopes;
|
|
|
}
|
|
|
// 控制是否判断YOHO币超出订单金额
|
|
|
$param['check_yohocoin_amount'] = 'Y';
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--使用优惠券
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $couponCode 优惠券代码
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function searchCoupon($uid, $couponCode)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.useCoupon';
|
|
|
$param['coupon_code'] = $couponCode;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--获取优惠券列表
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function getCouponList($uid, $limit = 10)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.coupons.lists';
|
|
|
$param['type'] = 'notuse';
|
|
|
$param['page'] = 1;
|
|
|
$param['limit'] = $limit;
|
|
|
$param['uid'] = $uid;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车结算--提交结算信息
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $addressId 地址ID
|
|
|
* @param string $cartType 购物车类型
|
|
|
* @param int $deliveryTime 寄送时间ID
|
|
|
* @param int $deliveryWay 寄送方式ID
|
|
|
* @param string $invoiceTitle 发票说明
|
|
|
* @param int $invoiceId 发票类型ID
|
|
|
* @param int $paymentId 支付方式ID
|
|
|
* @param int $paymentType 支付类型ID
|
|
|
* @param string $remark 留言
|
|
|
* @param string $couponCode 优惠券码
|
|
|
* @param mixed $yohoCoin 使用的YOHO币数量或为空
|
|
|
* @param int $isPreContact 送货前是否联系
|
|
|
* @param int $isPrintPrice 是否打印价格
|
|
|
* @param string|null $userAgent 联盟过来用户下单时需要的User-Agent信息
|
|
|
* @param int $redEnvelopes 红包
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function orderSub($uid, $addressId, $cartType, $deliveryTime, $deliveryWay, $invoiceTitle, $invoiceId,
|
|
|
$paymentId, $paymentType, $remark, $couponCode, $yohoCoin, $isPreContact, $isPrintPrice, $userAgent, $redEnvelopes)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['debug'] = 'Y';
|
|
|
$param['client_type'] = 'web'; // 需要ERP统计PC的下单量
|
|
|
$param['private_key'] = Yohobuy::$privateKeyList['web']; // PC默认使用Android的私钥
|
|
|
$param['method'] = 'app.Shopping.submit';
|
|
|
$param['address_id'] = $addressId;
|
|
|
$param['cart_type'] = $cartType;
|
|
|
$param['delivery_time'] = $deliveryTime;
|
|
|
$param['delivery_way'] = $deliveryWay;
|
|
|
$param['uid'] = $uid;
|
|
|
if (!empty($invoiceTitle)) {
|
|
|
$param['invoices_title'] = $invoiceTitle;
|
|
|
}
|
|
|
if (!empty($invoiceId)) {
|
|
|
$param['invoices_type_id'] = $invoiceId;
|
|
|
}
|
|
|
if (!empty($redEnvelopes)) {
|
|
|
$param['use_red_envelopes'] = $redEnvelopes;
|
|
|
}
|
|
|
$param['payment_id'] = $paymentId;
|
|
|
$param['payment_type'] = $paymentType;
|
|
|
if (!empty($couponCode)) {
|
|
|
$param['coupon_code'] = $couponCode;
|
|
|
}
|
|
|
if (!empty($yohoCoin)) {
|
|
|
$param['use_yoho_coin'] = $yohoCoin;
|
|
|
}
|
|
|
if (!empty($isPreContact) && $isPreContact == 'true') {
|
|
|
$param['is_pre_contact'] = 'Y';
|
|
|
}
|
|
|
if (!empty($isPrintPrice) && $isPrintPrice == 'true') {
|
|
|
$param['is_print_price'] = 'Y';
|
|
|
}
|
|
|
$param['remark'] = $remark;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param, false, false, 10, $userAgent);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 购物车数量
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $shoppingKey 未登录用户唯一识别码
|
|
|
* @return array 购物车接口返回的数据
|
|
|
*/
|
|
|
public static function cartCount($uid, $shoppingKey)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.Shopping.count';
|
|
|
if (!empty($uid)) {
|
|
|
$param['uid'] = $uid;
|
|
|
}
|
|
|
if (!empty($shoppingKey)) {
|
|
|
$param['shopping_key'] = $shoppingKey;
|
|
|
}
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 凑单商品
|
|
|
*
|
|
|
* @param int $page 分页页码
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function togetherProduct($page)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'web.product.together';
|
|
|
$param['client_type'] = 'web';
|
|
|
$param['private_key'] = Yohobuy::$privateKeyList['web'];
|
|
|
$param['page'] = $page;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 浏览记录数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $udid 客户端唯一标识
|
|
|
* @param int $page 第几页,默认为1
|
|
|
* @param int $limit 限制多少条,默认100
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function browseRecord($uid, $udid, $page = 1, $limit = 10)
|
|
|
{
|
|
|
$param = Yohobuy::param();
|
|
|
$param['method'] = 'app.browse.product';
|
|
|
$param['uid'] = $uid;
|
|
|
$param['udid'] = $udid;
|
|
|
$param['page'] = $page;
|
|
|
$param['limit'] = $limit;
|
|
|
$param['client_secret'] = Sign::getSign($param);
|
|
|
|
|
|
return Yohobuy::get(Yohobuy::API_URL, $param);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 通过搜索查询商品信息
|
|
|
*
|
|
|
* 备注:因默认的搜索方法会有过滤, 浏览记录不需要过滤
|
|
|
*
|
|
|
* @param string $query 查询的条件
|
|
|
* @param int $limit 查询的限制数
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function browseRecordFromSearch($query, $limit = 10)
|
|
|
{
|
|
|
$param = array();
|
|
|
$param['order'] = 'shelve_time:desc';
|
|
|
$param['page'] = 1;
|
|
|
$param['viewNum'] = $limit;
|
|
|
$param['query'] = $query;
|
|
|
|
|
|
return Yohobuy::get(SearchData::getUrl('search'), $param);
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|