...
|
...
|
@@ -1097,7 +1097,8 @@ let getProductData = (data) => { |
|
|
// params.current_vip_level = data.vipLevel;
|
|
|
|
|
|
return api.get('', params, {
|
|
|
code: 200
|
|
|
code: 200,
|
|
|
cache: true
|
|
|
}).then(result => {
|
|
|
if (result.code === 500 || !result.data) {
|
|
|
return {};
|
...
|
...
|
@@ -1520,7 +1521,8 @@ let getProductAsyncData = (data) => { |
|
|
params.current_vip_level = data.vipLevel;
|
|
|
|
|
|
return api.get('', params, {
|
|
|
code: 200
|
|
|
code: 200,
|
|
|
cache: true
|
|
|
}).then(result => {
|
|
|
if (result.code === 500 || !result.data) {
|
|
|
return {};
|
...
|
...
|
@@ -1751,7 +1753,6 @@ let _detailDataPkgAsync = (origin, uid, vipLevel, ua) => { |
|
|
numInCart: 0,
|
|
|
goodsInstore: origin.storage_sum
|
|
|
};
|
|
|
|
|
|
// 显示加入购物车链接
|
|
|
if (!soldOut && !notForSale) {
|
|
|
_.orderBy(colorGroup);
|
...
|
...
|
@@ -1765,31 +1766,54 @@ let _detailDataPkgAsync = (origin, uid, vipLevel, ua) => { |
|
|
colors: _.toArray(colorGroup),
|
|
|
sizes: sizeGroup
|
|
|
});
|
|
|
|
|
|
// 限购商品
|
|
|
if (origin.isLimitBuy) {
|
|
|
// 是否开售
|
|
|
let isBeginSale = (origin.saleStatus === 1);
|
|
|
|
|
|
// 限购商品有关的展示状态
|
|
|
let showStatus = 1;
|
|
|
|
|
|
origin.showStatus && (showStatus = parseInt(origin.showStatus, 10));
|
|
|
|
|
|
// 处理限购商品有关的按钮状态
|
|
|
dest = _procShowStatus(dest, showStatus, isBeginSale);
|
|
|
|
|
|
dest.cartInfo.limitProductCode = origin.limitProductCode;
|
|
|
dest.cartInfo.limitCodeUrl = _getLimitCodeUrl(origin.limitProductCode, origin.product_skn, ua);
|
|
|
dest.cartInfo.limitProductPay = helpers.urlFormat('/cart/index/orderEnsure');
|
|
|
if (origin.isLimitBuy && totalStorageNum > 0) {
|
|
|
return api.get('', {
|
|
|
method: 'app.limitProduct.productStatus',
|
|
|
limitProductCode: origin.limitProductCode,
|
|
|
uid: uid,
|
|
|
product_skn: origin.product_skn
|
|
|
}, {
|
|
|
code: 200,
|
|
|
cache: true
|
|
|
}).then((result) => {
|
|
|
if (result.data) {
|
|
|
if (!result.data.limitBuy) {
|
|
|
dest.cartInfo.soldOut = true;
|
|
|
return callback();
|
|
|
}
|
|
|
// 是否开售
|
|
|
let isBeginSale = (result.data.saleStatus === 1);
|
|
|
|
|
|
// 限购商品有关的展示状态
|
|
|
let showStatus = 1;
|
|
|
|
|
|
origin.showStatus && (showStatus = parseInt(result.data.showStatus, 10));
|
|
|
|
|
|
// 处理限购商品有关的按钮状态
|
|
|
dest = _procShowStatus(dest, showStatus, isBeginSale);
|
|
|
|
|
|
dest.cartInfo.limitProductCode = origin.limitProductCode;
|
|
|
dest.cartInfo.limitCodeUrl = _getLimitCodeUrl(origin.limitProductCode, origin.product_skn, ua);
|
|
|
dest.cartInfo.limitProductPay = helpers.urlFormat('/cart/index/orderEnsure');
|
|
|
return callback();
|
|
|
} else {
|
|
|
dest.cartInfo.soldOut = true;
|
|
|
return callback();
|
|
|
}
|
|
|
|
|
|
});
|
|
|
} else {
|
|
|
dest.cartInfo.addToCartUrl = helpers.urlFormat('/product/buy_' + origin.product_id + '_' +
|
|
|
origin.goods_id + '.html');
|
|
|
return callback();
|
|
|
}
|
|
|
} else if (notForSale) {
|
|
|
dest.cartInfo.notForSale = true;
|
|
|
return callback();
|
|
|
} else if (soldOut) {
|
|
|
dest.cartInfo.soldOut = true;
|
|
|
return callback();
|
|
|
}
|
|
|
|
|
|
// 是否收藏 使用单独收藏接口获取
|
...
|
...
|
@@ -1798,34 +1822,36 @@ let _detailDataPkgAsync = (origin, uid, vipLevel, ua) => { |
|
|
// dest.isCollect = true;
|
|
|
// dest.cartInfo.isCollect = true;
|
|
|
// }
|
|
|
function callback() {
|
|
|
// 虚拟商品(门票)
|
|
|
if (origin.attribute * 1 === 3) {
|
|
|
dest.tickets = true;
|
|
|
dest.ticketsConfirm = helpers.urlFormat('/cart/index/ticketsConfirm');
|
|
|
|
|
|
// 展览票
|
|
|
if (origin.product_skn * 1 === SINGLE_TICKETS_SKN) {
|
|
|
dest.single = true;
|
|
|
} else {
|
|
|
// 套票
|
|
|
dest.package = true;
|
|
|
}
|
|
|
|
|
|
// 虚拟商品(门票)
|
|
|
if (origin.attribute * 1 === 3) {
|
|
|
dest.tickets = true;
|
|
|
dest.ticketsConfirm = helpers.urlFormat('/cart/index/ticketsConfirm');
|
|
|
|
|
|
// 展览票
|
|
|
if (origin.product_skn * 1 === SINGLE_TICKETS_SKN) {
|
|
|
dest.single = true;
|
|
|
} else {
|
|
|
// 套票
|
|
|
dest.package = true;
|
|
|
}
|
|
|
|
|
|
// 购票限制
|
|
|
dest.cartInfo.limit = 4;
|
|
|
// 购票限制
|
|
|
dest.cartInfo.limit = 4;
|
|
|
|
|
|
// 清空活动
|
|
|
dest.goodsDiscount = [];
|
|
|
// 清空活动
|
|
|
dest.goodsDiscount = [];
|
|
|
|
|
|
// 来自登录页,自动弹出选择框
|
|
|
// if (isset($_GET['product_type']) && $_GET['product_type'] == 'ticket') {
|
|
|
// $result['showPannel'] = true;
|
|
|
// }
|
|
|
// 来自登录页,自动弹出选择框
|
|
|
// if (isset($_GET['product_type']) && $_GET['product_type'] == 'ticket') {
|
|
|
// $result['showPannel'] = true;
|
|
|
// }
|
|
|
}
|
|
|
dest.id = origin.product_id;
|
|
|
dest.goodsId = origin.goods_id;
|
|
|
return Promise.resolve(dest);
|
|
|
}
|
|
|
dest.id = origin.product_id;
|
|
|
dest.goodsId = origin.goods_id;
|
|
|
return dest;
|
|
|
|
|
|
};
|
|
|
module.exports = {
|
|
|
getProductData,
|
...
|
...
|
|