|
@@ -199,13 +199,15 @@ class OrderService extends CrudService {
|
|
|
carts = JSON.parse(JSON.stringify(carts));
|
|
|
carts = carts.map(i => ({ ...i, cart_id: i._id }));
|
|
|
}
|
|
|
- await this.ctx.service.trade.cart.getCartGoodsAct(carts);
|
|
|
+ carts = await this.ctx.service.trade.cart.getCartGoodsAct(carts);
|
|
|
data = carts;
|
|
|
+ } else {
|
|
|
+ data = await this.ctx.service.trade.cart.getCartGoodsAct(data);
|
|
|
}
|
|
|
const { result, msg } = await this.ctx.service.util.trade.checkCanBuy(data, false);
|
|
|
if (!result) throw new BusinessError(ErrorCode.DATA_INVALID, msg);
|
|
|
// 本次订单 有关活动的数据
|
|
|
- const actList = await this.getActList(data);
|
|
|
+ const actList = await this.getActList(data, true);
|
|
|
// 正常整理商品的内容,与活动结合
|
|
|
specsData = await this.getPageData(data, actList);
|
|
|
// 组装页面的数据
|
|
@@ -272,6 +274,7 @@ class OrderService extends CrudService {
|
|
|
* * ps1: 特价与满减/折叠加, 按特价计算总价再看满减/折; 加价购不在满减/折的金额下限计算范围内
|
|
|
* * ps2: 满减与满折的优先级为:先满减,后满折(理论上不应该同时出现在一个商品上)
|
|
|
* @param {Array} data 购物车数据(直接购买也会组织成购物车数据)
|
|
|
+ * @param {Boolean} getAll 获取所有活动
|
|
|
*/
|
|
|
async getActList(data) {
|
|
|
const actList = [];
|