|
@@ -170,14 +170,31 @@ class OrderDetailService extends CrudService {
|
|
|
const rate = await this.goodsRateModel.find({ orderDetail: res._id });
|
|
|
const goods = _.get(res, 'goods', []);
|
|
|
for (const g of goods) {
|
|
|
- const r = afterSale.find(f => ObjectId(_.get(f, 'goods._id')).equals(g._id));
|
|
|
- if (r) g.is_afterSale = true;
|
|
|
- else g.is_afterSale = false;
|
|
|
- const r2 = rate.find(f => ObjectId(_.get(f, 'goodsSpec')).equals(g._id));
|
|
|
- if (r2) {
|
|
|
- g.is_rate = true;
|
|
|
- g.rate = r2._id;
|
|
|
- } else g.is_rate = false;
|
|
|
+ const { is_set = '1' } = g;
|
|
|
+ if (is_set === '1') {
|
|
|
+ const r = afterSale.find(f => ObjectId(_.get(f, 'goods._id')).equals(g._id));
|
|
|
+ if (r) g.is_afterSale = true;
|
|
|
+ else g.is_afterSale = false;
|
|
|
+ const r2 = rate.find(f => ObjectId(_.get(f, 'goodsSpec')).equals(g._id));
|
|
|
+ if (r2) {
|
|
|
+ g.is_rate = true;
|
|
|
+ g.rate = r2._id;
|
|
|
+ } else g.is_rate = false;
|
|
|
+ } else {
|
|
|
+ const { set_id, goods } = g;
|
|
|
+ for (const i of goods) {
|
|
|
+ const { spec } = i;
|
|
|
+ const r = afterSale.find(f => f.set_id === set_id && _.get(f, 'goods._id') === _.get(spec, '_id'));
|
|
|
+ if (r) i.is_afterSale = true;
|
|
|
+ else i.is_afterSale = false;
|
|
|
+ const r2 = rate.find(f => f.set_id === set_id && f.goodsSpec === _.get(spec, '_id'));
|
|
|
+ if (r2) {
|
|
|
+ i.is_rate = true;
|
|
|
+ i.rate = r2._id;
|
|
|
+ } else i.is_rate = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
res.goods = goods;
|
|
|
// 整理total_detail为列表:让前端显示更方便
|