|
@@ -77,9 +77,10 @@ class GoodsService extends CrudService {
|
|
|
freight: { $toDouble: '$freight' },
|
|
|
name: 1,
|
|
|
num: 1,
|
|
|
- can_group: 1,
|
|
|
- group_config: 1,
|
|
|
+ buy_limit: 1,
|
|
|
+ limit_num: 1,
|
|
|
file: 1,
|
|
|
+ leader_price: 1,
|
|
|
},
|
|
|
},
|
|
|
],
|
|
@@ -162,15 +163,18 @@ class GoodsService extends CrudService {
|
|
|
if (user) {
|
|
|
const is_leader = _.get(user, 'is_leader', '1');
|
|
|
if (is_leader === '0') {
|
|
|
- const list = await this.goodsConfigModel.find({ goods: id }).lean();
|
|
|
- for (const i of list) {
|
|
|
- const { spec, leader_price } = i;
|
|
|
- const r = data.specs.find(f => f._id === spec);
|
|
|
- if (r) {
|
|
|
- r.o_sell_money = JSON.parse(r.sell_money);
|
|
|
- r.leader_price = leader_price;
|
|
|
- r.sell_money = leader_price;
|
|
|
- }
|
|
|
+ if (is_leader === '0') {
|
|
|
+ data.specs = data.specs.map(i => {
|
|
|
+ const { sell_money, leader_price } = i;
|
|
|
+ const sm = this.ctx.toNumber(sell_money);
|
|
|
+ const obj = { o_sell_money: sm };
|
|
|
+ if (leader_price) {
|
|
|
+ const lp = this.ctx.toNumber(leader_price);
|
|
|
+ obj.leader_price = lp;
|
|
|
+ obj.sell_money = lp;
|
|
|
+ }
|
|
|
+ return { ...i, ...obj };
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -214,6 +218,7 @@ class GoodsService extends CrudService {
|
|
|
create_time: 1,
|
|
|
sell_money: { $toDouble: '$specs.sell_money' },
|
|
|
flow_money: { $toDouble: '$specs.flow_money' },
|
|
|
+ leader_price: { $toDouble: '$specs.leader_price' },
|
|
|
num: '$specs.num',
|
|
|
act_tags: 1,
|
|
|
},
|
|
@@ -232,6 +237,7 @@ class GoodsService extends CrudService {
|
|
|
file: '$data.file',
|
|
|
sell_money: '$data.sell_money',
|
|
|
flow_money: '$data.flow_money',
|
|
|
+ leader_price: '$data.leader_price',
|
|
|
num: '$data.num',
|
|
|
create_time: '$data.create_time',
|
|
|
sort: '$data.sort',
|
|
@@ -246,7 +252,8 @@ class GoodsService extends CrudService {
|
|
|
if (parseInt(limit)) qpipeline.push({ $limit: parseInt(limit) });
|
|
|
let list = await this.goodsModel.aggregate(qpipeline);
|
|
|
list = list.map(i => {
|
|
|
- const obj = _.pick(i, [ 'name', 'file', 'num', 'flow_money', 'sell_money', 'view_num', '_id', 'actTagsShow', 'act_tags' ]);
|
|
|
+ const obj = _.pick(i, [ 'name', 'file', 'num', 'flow_money', 'sell_money', 'view_num', '_id', 'actTagsShow', 'act_tags', 'leader_price' ]);
|
|
|
+ if (obj.leader_price) obj.leader_price = this.ctx.toNumber(obj.leader_price);
|
|
|
return obj;
|
|
|
});
|
|
|
// 处理活动标签
|
|
@@ -259,8 +266,8 @@ class GoodsService extends CrudService {
|
|
|
const user = _.get(this.ctx, 'user');
|
|
|
if (user) {
|
|
|
const is_leader = _.get(user, 'is_leader', '1');
|
|
|
- if (is_leader === '0') {
|
|
|
- list = await this.searchLeaderPrice(list);
|
|
|
+ if (is_leader === '1') {
|
|
|
+ list = list.map(i => _.omit(i, [ 'leader_price' ]));
|
|
|
}
|
|
|
}
|
|
|
const tpipeline = _.cloneDeep(pipeline);
|
|
@@ -352,6 +359,7 @@ class GoodsService extends CrudService {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ // 弃用
|
|
|
async searchLeaderPrice(list) {
|
|
|
for (const i of list) {
|
|
|
const { _id: goods } = i;
|