...
|
...
|
@@ -403,6 +403,8 @@ const getCartData = (uid, shoppingKey, cartDelList) => { |
|
|
// 调用接口,获取购物车数据
|
|
|
let cartDataRet = yield cartApi.cartData(uid, shoppingKey);
|
|
|
let cartData = cartDataRet && cartDataRet.data;
|
|
|
let advCartData = _.get(cartData, 'advance_cart_data');
|
|
|
let ordCartData = _.get(cartData, 'ordinary_cart_data');
|
|
|
|
|
|
// 接口异常时,购物车置为空
|
|
|
if (!cartData) {
|
...
|
...
|
@@ -413,40 +415,36 @@ const getCartData = (uid, shoppingKey, cartDelList) => { |
|
|
}
|
|
|
|
|
|
result.advanceCart = {
|
|
|
goodsList: chelper.formatCartGoods(_.get(cartData, 'advance_cart_data.goods_list'),
|
|
|
true, false, false, analysisData), // 未参加活动的商品
|
|
|
offShelves: chelper.formatOffShelves(_.get(cartData, 'advance_cart_data.off_shelves_goods_list'),
|
|
|
true, analysisData),
|
|
|
soldOuts: chelper.formatSoldOuts(_.get(cartData, 'advance_cart_data.sold_out_goods_list'),
|
|
|
true, analysisData),
|
|
|
stat: chelper.formatShoppingCartData(_.get(cartData, 'advance_cart_data.shopping_cart_data'))
|
|
|
// 未参加活动的商品
|
|
|
goodsList: chelper.formatCartGoods(_.get(advCartData, 'goods_list'), true, false, false, analysisData),
|
|
|
offShelves: chelper.formatOffShelves(_.get(advCartData, 'off_shelves_goods_list'), true, analysisData),
|
|
|
soldOuts: chelper.formatSoldOuts(_.get(advCartData, 'sold_out_goods_list'), true, analysisData),
|
|
|
stat: chelper.formatShoppingCartData(_.get(advCartData, 'shopping_cart_data'))
|
|
|
};
|
|
|
|
|
|
result.ordinaryCart = {
|
|
|
gifts: chelper.formatGifts(_.get(cartData, 'ordinary_cart_data.gift_list')),
|
|
|
goodsList: chelper.formatCartGoods(_.get(cartData, 'ordinary_cart_data.goods_list'),
|
|
|
false, false, false, analysisData), // 未参加活动的商品
|
|
|
promotionPools: chelper.formatPromotionPools(_.get(cartData, 'ordinary_cart_data.promotion_pool_list')),
|
|
|
offShelves: chelper.formatOffShelves(_.get(cartData, 'ordinary_cart_data.off_shelves_goods_list'),
|
|
|
false, analysisData),
|
|
|
soldOuts: chelper.formatSoldOuts(_.get(cartData, 'ordinary_cart_data.sold_out_goods_list'),
|
|
|
false, analysisData),
|
|
|
priceGifts: chelper.formatPriceGifts(_.get(cartData, 'ordinary_cart_data.price_gift')),
|
|
|
promotionInfos: chelper.formatPromotionInfos(_.get(cartData, 'ordinary_cart_data.promotion_info')),
|
|
|
stat: chelper.formatShoppingCartData(_.get(cartData, 'ordinary_cart_data.shopping_cart_data'))
|
|
|
gifts: chelper.formatGifts(_.get(ordCartData, 'gift_list')),
|
|
|
|
|
|
// 未参加活动的商品
|
|
|
goodsList: chelper.formatCartGoods(_.get(ordCartData, 'goods_list'), false, false, false, analysisData),
|
|
|
pools: chelper.formatPromotionPools(_.get(ordCartData, 'goods_pool_list')),
|
|
|
offShelves: chelper.formatOffShelves(_.get(ordCartData, 'off_shelves_goods_list'), false, analysisData),
|
|
|
soldOuts: chelper.formatSoldOuts(_.get(ordCartData, 'sold_out_goods_list'), false, analysisData),
|
|
|
priceGifts: chelper.formatPriceGifts(_.get(ordCartData, 'price_gift')),
|
|
|
promotionInfos: chelper.formatPromotionInfos(_.get(ordCartData, 'promotion_info')),
|
|
|
stat: chelper.formatShoppingCartData(_.get(ordCartData, 'shopping_cart_data'))
|
|
|
};
|
|
|
|
|
|
let advStat = result.advanceCart.stat;
|
|
|
let ordStat = result.ordinaryCart.stat;
|
|
|
|
|
|
result.stat = {
|
|
|
orderAmount: _.get(result, 'advanceCart.stat.orderAmount', 0) +
|
|
|
_.get(result, 'ordinaryCart.stat.orderAmount', 0),
|
|
|
discountAmount: _.get(result, 'advanceCart.stat.discountAmount', 0) +
|
|
|
_.get(result, 'ordinaryCart.stat.discountAmount', 0),
|
|
|
lastOrderAmount: _.get(result, 'advanceCart.stat.lastOrderAmount', 0) +
|
|
|
_.get(result, 'ordinaryCart.stat.lastOrderAmount', 0),
|
|
|
gainYohoCoin: _.get(result, 'advanceCart.stat.gainYohoCoin', 0) +
|
|
|
_.get(result, 'ordinaryCart.stat.gainYohoCoin', 0),
|
|
|
goodsCount: _.get(result, 'advanceCart.stat.goodsCount', 0) +
|
|
|
_.get(result, 'ordinaryCart.stat.goodsCount', 0)
|
|
|
orderAmount: _.get(advStat, 'orderAmount', 0) + _.get(ordStat, 'orderAmount', 0),
|
|
|
discountAmount: _.get(advStat, 'discountAmount', 0) + _.get(ordStat, 'discountAmount', 0),
|
|
|
lastOrderAmount: _.get(advStat, 'lastOrderAmount', 0) + _.get(ordStat, 'lastOrderAmount', 0),
|
|
|
gainYohoCoin: _.get(advStat, 'gainYohoCoin', 0) + _.get(ordStat, 'gainYohoCoin', 0),
|
|
|
goodsCount: _.get(advStat, 'goodsCount', 0) + _.get(ordStat, 'goodsCount', 0),
|
|
|
selectedGoodsCount: _.get(advStat, 'selectedGoodsCount', 0) + _.get(ordStat, 'selectedGoodsCount', 0)
|
|
|
};
|
|
|
|
|
|
/* 移除的商品列表 */
|
...
|
...
|
@@ -461,7 +459,7 @@ const getCartData = (uid, shoppingKey, cartDelList) => { |
|
|
}*/
|
|
|
|
|
|
return result;
|
|
|
}).then(ret => {
|
|
|
})().then(ret => {
|
|
|
// 增加第三方分析用的数据
|
|
|
// ret['ids'] = empty($analysisData['ids']) ? '' : implode(',', $analysisData['ids']);
|
|
|
// $result['criteo'] = empty($analysisData['criteo']) ? "''" : json_encode($analysisData['criteo']);
|
...
|
...
|
@@ -521,7 +519,7 @@ const addToCart = (productSku, buyNumber, goodsType, isEdit, promotionId, uid, s |
|
|
}*/
|
|
|
|
|
|
return result;
|
|
|
});
|
|
|
})();
|
|
|
};
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -556,7 +554,7 @@ const selectGoods = (uid, skuList, shoppingKey, hasPromotion) => { |
|
|
}*/
|
|
|
|
|
|
return result;
|
|
|
});
|
|
|
})();
|
|
|
};
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -592,7 +590,7 @@ const modifyProductNum = (uid, sku, increaseNum, decreaseNum, shoppingKey) => { |
|
|
}*/
|
|
|
|
|
|
return result;
|
|
|
});
|
|
|
})();
|
|
|
|
|
|
};
|
|
|
|
...
|
...
|
@@ -633,7 +631,7 @@ const removeFromCart = (uid, shoppingKey, skuList, hasPromotion) => { |
|
|
}*/
|
|
|
|
|
|
return result;
|
|
|
});
|
|
|
})();
|
|
|
};
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -678,7 +676,7 @@ const addToFav = (uid, skuList, hasPromotion) => { |
|
|
}*/
|
|
|
|
|
|
return result;
|
|
|
});
|
|
|
})();
|
|
|
|
|
|
};
|
|
|
|
...
|
...
|
@@ -708,7 +706,7 @@ const checkUserIsFav = (uid, skuList) => { |
|
|
}
|
|
|
|
|
|
return cartApi.checkUserIsFavProductList(uid, skuList);
|
|
|
});
|
|
|
})();
|
|
|
};
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -806,7 +804,7 @@ const getRecommendProduct = (channel, uid, udid, page) => { |
|
|
});
|
|
|
|
|
|
return result;
|
|
|
});
|
|
|
})();
|
|
|
};
|
|
|
|
|
|
module.exports = {
|
...
|
...
|
|