...
|
...
|
@@ -11,45 +11,68 @@ const _ = require('lodash'); |
|
|
|
|
|
exports.index = (req, res) => {
|
|
|
const shoppingKey = req.cookies._SPK || null;
|
|
|
const uid = req.cookies._uid || null;
|
|
|
const uid = req.cookies.uid || null;
|
|
|
|
|
|
cartModel.getCartData(shoppingKey, uid).then((result) => {
|
|
|
console.log('get cart data:', result);
|
|
|
}).catch((err) => {
|
|
|
res.send(err);
|
|
|
});
|
|
|
// 预售商品
|
|
|
let advancedGoods = [],
|
|
|
advancedCartData;
|
|
|
|
|
|
cartModel.getCartInfo().then((result) => {
|
|
|
// 普通商品
|
|
|
let ordinaryGoods = [],
|
|
|
ordinaryCartData;
|
|
|
|
|
|
const mock = {
|
|
|
loggedIn: true,
|
|
|
prosNum: result[0].preSalePros.length && result[1].commonPros.length && result[2].invalidPros.length
|
|
|
};
|
|
|
// skn=0或者已下架的商品,定义为失效商品
|
|
|
let invalidGoods = [];
|
|
|
|
|
|
if (result[0].preSalePros) {
|
|
|
_.merge(mock, {
|
|
|
preSalePros: _.groupBy(result[0].preSalePros, 'brandName')
|
|
|
});
|
|
|
}
|
|
|
// 库存不足商品
|
|
|
let soldOutGoods = [];
|
|
|
|
|
|
if (result[1].commonPros) {
|
|
|
_.merge(mock, {
|
|
|
commonPros: _.groupBy(result[1].commonPros, 'brandName')
|
|
|
});
|
|
|
}
|
|
|
// 返回值
|
|
|
let resData = {};
|
|
|
|
|
|
if (result[2].invalidPros) {
|
|
|
console.log(result[2].invalidPros);
|
|
|
_.merge(mock, {
|
|
|
invalidPros: result[2].invalidPros
|
|
|
cartModel.getCartData(shoppingKey, uid).then((result) => {
|
|
|
console.log('get cart data:', result);
|
|
|
if (result.code === 200) {
|
|
|
|
|
|
if (result.data && result.data.advance_cart_data) {
|
|
|
// 预售商品
|
|
|
advancedCartData = result.data.advance_cart_data;
|
|
|
advancedGoods = _.concat(advancedGoods, advancedCartData.goods_list);
|
|
|
invalidGoods = _.concat(invalidGoods, advancedCartData.off_shelves_goods_list);
|
|
|
soldOutGoods = _.concat(soldOutGoods, advancedCartData.sold_out_goods_list);
|
|
|
}
|
|
|
|
|
|
if (result.data && result.data.ordinary_cart_data) {
|
|
|
// 普通商品
|
|
|
ordinaryCartData = result.data.ordinary_cart_data;
|
|
|
ordinaryGoods = _.concat(ordinaryGoods, ordinaryCartData.goods_list);
|
|
|
invalidGoods = _.concat(invalidGoods, ordinaryCartData.off_shelves_goods_list);
|
|
|
soldOutGoods = _.concat(soldOutGoods, ordinaryCartData.sold_out_goods_list);
|
|
|
}
|
|
|
|
|
|
console.log('ordinaryGoods:', ordinaryGoods);
|
|
|
|
|
|
|
|
|
_.merge(resData, {
|
|
|
hasGoods: advancedGoods.length || ordinaryGoods.length || invalidGoods.length,
|
|
|
preSalePros: advancedGoods.length ? _.groupBy(advancedGoods, 'brand_id') : [],
|
|
|
commonPros: ordinaryGoods.length ? _.groupBy(ordinaryGoods, 'brand_id') : [],
|
|
|
invalidPros: invalidGoods
|
|
|
});
|
|
|
}
|
|
|
|
|
|
res.display('cart', _.merge({
|
|
|
module: 'shopping',
|
|
|
page: 'cart'
|
|
|
}, mock));
|
|
|
console.log('resData:', resData);
|
|
|
|
|
|
res.display('cart', _.merge({
|
|
|
module: 'shopping',
|
|
|
page: 'cart'
|
|
|
}, {
|
|
|
helpers: require('../helpers')
|
|
|
}, resData));
|
|
|
|
|
|
} else {
|
|
|
// code 500
|
|
|
res.send(result);
|
|
|
}
|
|
|
}).catch((err) => {
|
|
|
res.send(err);
|
|
|
});
|
...
|
...
|
@@ -154,8 +177,6 @@ exports.editProduct = (req, res) => { |
|
|
};
|
|
|
|
|
|
// 添加商品到购物车
|
|
|
// productSku:1329776
|
|
|
// buyNumber:1
|
|
|
exports.addToCart = (req, res) => {
|
|
|
const productSku = req.body.productSku;
|
|
|
const buyNumber = req.body.buyNumber;
|
...
|
...
|
|