...
|
...
|
@@ -17,213 +17,216 @@ use Plugin\Images; |
|
|
class CartModel
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* @param integer $uid 用户ID
|
|
|
* @return array|mixed 处理之后的购物车数据
|
|
|
*/
|
|
|
public static function getCartData($uid)
|
|
|
{
|
|
|
$result = array(
|
|
|
'cartNav' => true,
|
|
|
'showLoginInfo' => true
|
|
|
);
|
|
|
|
|
|
// 调用接口获取购物车的数据
|
|
|
$cartData = CartData::cartData($uid);
|
|
|
|
|
|
// 处理普通购物车和预售购物车的数据
|
|
|
if (isset($cartData['data']) && !empty($cartData['data'])) {
|
|
|
$cart = $cartData['data'];
|
|
|
|
|
|
/* 普通购物车 */
|
|
|
if(isset($cart['ordinary_cart_data'])) {
|
|
|
$result['commonGoodsCount'] = count($cart['ordinary_cart_data']['goods_list']);
|
|
|
$result['commonCart'] = self::procCartData($cart['ordinary_cart_data']);
|
|
|
}
|
|
|
|
|
|
/* 预售购物车 */
|
|
|
if(isset($cart['advance_cart_data'])) {
|
|
|
$result['presellGoodsCount'] = count($cart['advance_cart_data']['goods_list']);
|
|
|
$result['preSellCart'] = self::procCartData($cart['advance_cart_data']);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移出购物车
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function removeFromCart($uid, $sku)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
// 处理sku
|
|
|
$sku_list = json_encode(array($sku => 1));
|
|
|
|
|
|
$remove = CartData::removeFromCart($uid, $sku_list);
|
|
|
if ($remove && isset($remove['code'])) {
|
|
|
$result['code'] = $remove['code'];
|
|
|
$result['message'] = $remove['message'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移入收藏夹
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function addToFav($uid, $sku)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
// 处理sku
|
|
|
$sku_list = json_encode(array($sku => 1));
|
|
|
|
|
|
$add = CartData::addToFav($uid, $sku_list);
|
|
|
if ($add && isset($add['code'])) {
|
|
|
$result['code'] = $add['code'];
|
|
|
$result['message'] = $add['message'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 处理购物车商品数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $skn 商品skn
|
|
|
* @param int $num 购买数目
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function cartProductData($uid, $skn, $num)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
$product = CartData::cartProductData($uid, $skn);
|
|
|
if (isset($product['code']) && $product['code'] === 200) {
|
|
|
$result['code'] = 200;
|
|
|
$data = array();
|
|
|
$productData = $product['data'];
|
|
|
|
|
|
// 品牌信息
|
|
|
if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {
|
|
|
$data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);
|
|
|
}
|
|
|
|
|
|
$data['name'] = $productData['product_name'];
|
|
|
$data['price'] = $productData['market_price'];
|
|
|
$data['salePrice'] = $productData['sales_price'];
|
|
|
$data['storage'] = $productData['storage_sum'];
|
|
|
$data['num'] = $num;
|
|
|
|
|
|
// 商品选择
|
|
|
if (isset($productData['goods_list'])) {
|
|
|
$goodsList = $productData['goods_list'];
|
|
|
|
|
|
$colors = array();
|
|
|
$oneColor = array();
|
|
|
$sizes = array();
|
|
|
$oneSize = array();
|
|
|
foreach ($goodsList as $val) {
|
|
|
// 颜色
|
|
|
$oneColor = array();
|
|
|
$oneColor['id'] = $val['color_id'];
|
|
|
$oneColor['name'] = $val['color_name'];
|
|
|
|
|
|
// 尺码
|
|
|
foreach ($val['size_list'] as $one) {
|
|
|
$oneSize = array();
|
|
|
$oneSize['id'] = $one['size_id'];
|
|
|
$oneSize['name'] = $one['size_name'];
|
|
|
}
|
|
|
$sizes[] = $oneSize;
|
|
|
|
|
|
$oneColor['sizes'] = $sizes;
|
|
|
$colors[] = $oneColor;
|
|
|
}
|
|
|
|
|
|
$data['colors'] = $colors;
|
|
|
}
|
|
|
|
|
|
$result['data'] = $data;
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 修改购物车商品数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $param 要更改的数据
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function modifyCartProduct($uid, $param)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
// 处理要更改的数据
|
|
|
$swapData = json_encode(array($param));
|
|
|
|
|
|
$modify = CartData::addToFav($uid, $swapData);
|
|
|
if ($modify && isset($modify['code'])) {
|
|
|
$result['code'] = $modify['code'];
|
|
|
$result['message'] = $modify['message'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 处理不同类型的购物车数据
|
|
|
*
|
|
|
* @param array $data 不同类型购物车数据
|
|
|
* @return array $result 处理之后的不同类型购物车数据
|
|
|
*/
|
|
|
private static function procCartData($data)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
$oneGoods = array();
|
|
|
// 购买的商品列表
|
|
|
foreach ($data['goods_list'] as $value) {
|
|
|
$oneGoods['id'] = $value['product_sku'];
|
|
|
$oneGoods['skn'] = $value['product_skn'];
|
|
|
$oneGoods['name'] = $value['product_name'];
|
|
|
$oneGoods['thumb'] = Images::getImageUrl($value['goods_images'], 120, 120);
|
|
|
$oneGoods['color'] = $value['color_name'];
|
|
|
$oneGoods['size'] = $value['size_name'];
|
|
|
$oneGoods['appearDate'] = '12月'; // 目前app接口没有返回该数据
|
|
|
$oneGoods['price'] = $value['real_price'];
|
|
|
$oneGoods['count'] = $value['buy_number'];
|
|
|
$oneGoods['lowStocks'] = true;
|
|
|
|
|
|
$result['goods'][] = $oneGoods;
|
|
|
}
|
|
|
// 赠品
|
|
|
count($data['gift_list']) && $result['freebieOrAdvanceBuy'] = true;
|
|
|
$result['freebie'] = $data['gift_list'];
|
|
|
// 加价购
|
|
|
$result['advanceBuy'] = $data['price_gift'];
|
|
|
// 结算数据
|
|
|
$result['price'] = $data['shopping_cart_data']['order_amount'];
|
|
|
$result['activityPrice'] = $data['shopping_cart_data']['discount_amount'];
|
|
|
$result['count'] = $data['shopping_cart_data']['goods_count'];
|
|
|
$result['sumPrice'] = $data['shopping_cart_data']['order_amount'];
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
/**
|
|
|
* 获取购物车数据
|
|
|
*
|
|
|
* @param integer $uid 用户ID
|
|
|
* @return array|mixed 处理之后的购物车数据
|
|
|
*/
|
|
|
public static function getCartData($uid)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
// 提示登录
|
|
|
if (!$uid) {
|
|
|
$result['showLoginInfo'] = true;
|
|
|
}
|
|
|
|
|
|
// 普通购物车和预售购物车的数据总数
|
|
|
$result['cartNav']['commonGoodsCount'] = '0';
|
|
|
$result['cartNav']['presellGoodsCount'] = '0';
|
|
|
|
|
|
// 调用接口获取购物车的数据
|
|
|
$cartData = CartData::cartData($uid);
|
|
|
|
|
|
// 处理普通购物车和预售购物车的数据
|
|
|
|
|
|
/* 普通购物车 */
|
|
|
if (!empty($cartData['data']['ordinary_cart_data']['goods_list'])) {
|
|
|
$result['cartNav']['commonGoodsCount'] = count($cartData['data']['ordinary_cart_data']['goods_list']);
|
|
|
$result['commonCart'] = self::procCartData($cartData['data']['ordinary_cart_data']);
|
|
|
}
|
|
|
|
|
|
/* 预售购物车 */
|
|
|
if (!empty($cartData['data']['advance_cart_data']['goods_list'])) {
|
|
|
$result['cartNav']['presellGoodsCount'] = count($cartData['data']['advance_cart_data']['goods_list']);
|
|
|
$result['preSellCart'] = self::procCartData($cartData['data']['advance_cart_data']);
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移出购物车
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function removeFromCart($uid, $sku)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
// 处理sku
|
|
|
$sku_list = json_encode(array($sku => 1));
|
|
|
|
|
|
$remove = CartData::removeFromCart($uid, $sku_list);
|
|
|
if ($remove && isset($remove['code'])) {
|
|
|
$result['code'] = $remove['code'];
|
|
|
$result['message'] = $remove['message'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移入收藏夹
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $sku 商品sku列表
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function addToFav($uid, $sku)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
// 处理sku
|
|
|
$sku_list = json_encode(array($sku => 1));
|
|
|
|
|
|
$add = CartData::addToFav($uid, $sku_list);
|
|
|
if ($add && isset($add['code'])) {
|
|
|
$result['code'] = $add['code'];
|
|
|
$result['message'] = $add['message'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 处理购物车商品数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param int $skn 商品skn
|
|
|
* @param int $num 购买数目
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function cartProductData($uid, $skn, $num)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
$product = CartData::cartProductData($uid, $skn);
|
|
|
if (isset($product['code']) && $product['code'] === 200) {
|
|
|
$result['code'] = 200;
|
|
|
$data = array();
|
|
|
$productData = $product['data'];
|
|
|
|
|
|
// 品牌信息
|
|
|
if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {
|
|
|
$data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);
|
|
|
}
|
|
|
|
|
|
$data['name'] = $productData['product_name'];
|
|
|
$data['price'] = $productData['market_price'];
|
|
|
$data['salePrice'] = $productData['sales_price'];
|
|
|
$data['storage'] = $productData['storage_sum'];
|
|
|
$data['num'] = $num;
|
|
|
|
|
|
// 商品选择
|
|
|
if (isset($productData['goods_list'])) {
|
|
|
$goodsList = $productData['goods_list'];
|
|
|
|
|
|
$colors = array();
|
|
|
$oneColor = array();
|
|
|
$sizes = array();
|
|
|
$oneSize = array();
|
|
|
foreach ($goodsList as $val) {
|
|
|
// 颜色
|
|
|
$oneColor = array();
|
|
|
$oneColor['id'] = $val['color_id'];
|
|
|
$oneColor['name'] = $val['color_name'];
|
|
|
|
|
|
// 尺码
|
|
|
foreach ($val['size_list'] as $one) {
|
|
|
$oneSize = array();
|
|
|
$oneSize['id'] = $one['size_id'];
|
|
|
$oneSize['name'] = $one['size_name'];
|
|
|
}
|
|
|
$sizes[] = $oneSize;
|
|
|
|
|
|
$oneColor['sizes'] = $sizes;
|
|
|
$colors[] = $oneColor;
|
|
|
}
|
|
|
|
|
|
$data['colors'] = $colors;
|
|
|
}
|
|
|
|
|
|
$result['data'] = $data;
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 修改购物车商品数据
|
|
|
*
|
|
|
* @param int $uid 用户ID
|
|
|
* @param string $param 要更改的数据
|
|
|
* @return array 接口返回的数据
|
|
|
*/
|
|
|
public static function modifyCartProduct($uid, $param)
|
|
|
{
|
|
|
$result = array('code' => 400, 'message' => '出错啦~');
|
|
|
|
|
|
// 处理要更改的数据
|
|
|
$swapData = json_encode(array($param));
|
|
|
|
|
|
$modify = CartData::addToFav($uid, $swapData);
|
|
|
if ($modify && isset($modify['code'])) {
|
|
|
$result['code'] = $modify['code'];
|
|
|
$result['message'] = $modify['message'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 处理不同类型的购物车数据
|
|
|
*
|
|
|
* @param array $data 不同类型购物车数据
|
|
|
* @return array $result 处理之后的不同类型购物车数据
|
|
|
*/
|
|
|
private static function procCartData($data)
|
|
|
{
|
|
|
$result = array();
|
|
|
|
|
|
$oneGoods = array();
|
|
|
// 购买的商品列表
|
|
|
foreach ($data['goods_list'] as $value) {
|
|
|
$oneGoods['id'] = $value['product_sku'];
|
|
|
$oneGoods['skn'] = $value['product_skn'];
|
|
|
$oneGoods['name'] = $value['product_name'];
|
|
|
$oneGoods['thumb'] = Images::getImageUrl($value['goods_images'], 120, 120);
|
|
|
$oneGoods['color'] = $value['color_name'];
|
|
|
$oneGoods['size'] = $value['size_name'];
|
|
|
$oneGoods['appearDate'] = '12月'; // 目前app接口没有返回该数据
|
|
|
$oneGoods['price'] = $value['real_price'];
|
|
|
$oneGoods['count'] = $value['buy_number'];
|
|
|
$oneGoods['lowStocks'] = true;
|
|
|
|
|
|
$result['goods'][] = $oneGoods;
|
|
|
}
|
|
|
// 赠品
|
|
|
count($data['gift_list']) && $result['freebieOrAdvanceBuy'] = true;
|
|
|
$result['freebie'] = $data['gift_list'];
|
|
|
// 加价购
|
|
|
$result['advanceBuy'] = $data['price_gift'];
|
|
|
// 结算数据
|
|
|
$result['price'] = $data['shopping_cart_data']['order_amount'];
|
|
|
$result['activityPrice'] = $data['shopping_cart_data']['discount_amount'];
|
|
|
$result['count'] = $data['shopping_cart_data']['goods_count'];
|
|
|
$result['sumPrice'] = $data['shopping_cart_data']['order_amount'];
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|