lrf 2 anni fa
parent
commit
b50265ba07
1 ha cambiato i file con 25 aggiunte e 8 eliminazioni
  1. 25 8
      app/service/trade/pay.js

+ 25 - 8
app/service/trade/pay.js

@@ -172,15 +172,32 @@ class PayService extends CrudService {
   async addSell(order, tran) {
   async addSell(order, tran) {
     const goods = _.get(order, 'goods', []);
     const goods = _.get(order, 'goods', []);
     for (const sg of goods) {
     for (const sg of goods) {
-      const sgList = _.get(sg, 'goods', []);
-      for (const g of sgList) {
-        const buy_num = _.get(g, 'buy_num', 0);
-        const goods_id = _.get(goods, '_id');
-        if (!goods_id) return;
-        const goodsInfo = await this.goodsModel.findById(goods_id, { sell_num: 1 });
-        const newSell_num = this.ctx.plus(buy_num, _.get(goodsInfo, 'sell_num'));
-        tran.update('Goods', goods_id, { sell_num: newSell_num });
+      const { is_set = '1' } = sg;
+      if (is_set === '1') {
+        const sgList = _.get(sg, 'goods', []);
+        for (const g of sgList) {
+          const buy_num = _.get(g, 'buy_num', 0);
+          const goods_id = _.get(goods, '_id');
+          if (!goods_id) return;
+          const goodsInfo = await this.goodsModel.findById(goods_id, { sell_num: 1 });
+          const newSell_num = this.ctx.plus(buy_num, _.get(goodsInfo, 'sell_num'));
+          tran.update('Goods', goods_id, { sell_num: newSell_num });
+        }
+      } else {
+        const sgList = _.get(sg, 'goods', []);
+        for (const g of sgList) {
+          const buy_num = _.get(g, 'buy_num', 0);
+          const goodsList = _.get(g, 'goods', []);
+          for (const i of goodsList) {
+            const goods_id = _.get(i, 'goods_id');
+            const set_num = _.get(i, 'set_num');
+            const goodsInfo = await this.goodsModel.findById(goods_id, { sell_num: 1 });
+            const newNum = this.ctx.plus(_.get(goodsInfo, 'sell_num'), this.ctx.multiply(buy_num, set_num));
+            tran.update('Goods', goods_id, { sell_num: newNum });
+          }
+        }
       }
       }
+
     }
     }
   }
   }