...
|
...
|
@@ -8,6 +8,7 @@ const _ = require('lodash'); |
|
|
const co = require('bluebird').coroutine;
|
|
|
const logger = global.yoho.logger;
|
|
|
const yohoHelpers = global.yoho.helpers;
|
|
|
const config = global.yoho.config;
|
|
|
const service = require('../models/cart-service');
|
|
|
const helper = require('../models/cart-helper');
|
|
|
const simpleHeaderModel = require('../../../doraemon/models/simple-header');
|
...
|
...
|
@@ -58,6 +59,7 @@ const setShoppingCookie = (req, res) => { |
|
|
let shoppingKey = helper.getShoppingKeyByCookie(req);
|
|
|
|
|
|
return service.getCartCount(uid, shoppingKey).then(ret => {
|
|
|
|
|
|
if (ret && ret.data && ret.data.cart_goods_count) {
|
|
|
res.cookie('_g', JSON.stringify({
|
|
|
_k: shoppingKey,
|
...
|
...
|
@@ -125,6 +127,59 @@ const delCartGoods = (req, res, next) => { |
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 加入购物车 商品详情页
|
|
|
*
|
|
|
* @param string productSku 商品的SKU
|
|
|
* @param int buyNumber 购买数量
|
|
|
* @param int promotionId 促销ID, 加价购有关
|
|
|
* @param int goodsType 商品类型,0表示普通商品,1表示加价购商品
|
|
|
* @param int isEdit 是否是编辑商品SKU,0表示不是编辑
|
|
|
* @return json
|
|
|
*/
|
|
|
const cartAddIndex = (req, res) => {
|
|
|
|
|
|
co(function * () {
|
|
|
let uid = req.user.uid;
|
|
|
let shoppingKey = helper.getShoppingKeyByCookie(req);
|
|
|
let productSku = req.body.productSku;
|
|
|
let buyNumber = req.body.buyNumber || 1;
|
|
|
let goodsType = req.body.goodsType || 0;
|
|
|
let promotionId = req.body.promotionId || 0;
|
|
|
let isEdit = req.body.isEdit || 0;
|
|
|
|
|
|
// 执行加入购物车操作
|
|
|
let result = yield service.addCart(productSku, buyNumber,
|
|
|
goodsType, isEdit, promotionId,
|
|
|
uid, shoppingKey);
|
|
|
|
|
|
// 设置加入购物车凭证到客户端浏览器
|
|
|
if (!shoppingKey && _.get(result, 'data.shopping_key')) {
|
|
|
|
|
|
res.cookie('_SPK', result.data.shopping_key, {
|
|
|
expires: new Date(Date.now() + 86400 * 360),
|
|
|
domain: config.cookieDomain
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 更新头部购物车COOKIE
|
|
|
if (_.get(result, 'data.shopping_key')) {
|
|
|
|
|
|
res.cookie('_g', JSON.stringify({
|
|
|
_k: result.data.shopping_key,
|
|
|
_nac: result.data.goods_count,
|
|
|
_ac: 0,
|
|
|
_r: 1
|
|
|
}), {
|
|
|
expires: new Date(Date.now() + 86400 * 360),
|
|
|
domain: config.cookieDomain
|
|
|
});
|
|
|
}
|
|
|
|
|
|
res.send(result);
|
|
|
})();
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 我的购物车
|
|
|
*/
|
|
|
const cart = (req, res, next) => {
|
...
|
...
|
@@ -184,7 +239,8 @@ const cartAdd = (req, res) => { |
|
|
// 设置加入购物车凭证到客户端浏览器
|
|
|
if (!shoppingKey && result && result.data && result.data.shopping_key) {
|
|
|
res.cookie('_SPK', result.data.shopping_key, {
|
|
|
expires: new Date(Date.now() + 86400 * 360)
|
|
|
expires: new Date(Date.now() + 86400 * 360),
|
|
|
domain: config.cookieDomain
|
|
|
});
|
|
|
}
|
|
|
|
...
|
...
|
@@ -450,6 +506,7 @@ const queryUserPromotionGift = (req, res, next) => { |
|
|
};
|
|
|
|
|
|
module.exports = {
|
|
|
cartAddIndex,
|
|
|
getProductInfo,
|
|
|
getProductData,
|
|
|
cart,
|
...
|
...
|
|