Browse Source

添加订单支持组合商品

周箭河 5 years ago
parent
commit
f4ed80a6bb

+ 8 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SellOrderServiceImpl.java

@@ -116,13 +116,15 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
                     sellOrderActualAmount = complementGoodsPrice.get(sellOrder.getGoodsId()).multiply(new BigDecimal(sellOrder.getNum())).multiply(goodsPrice).divide(complementPrice, 2, BigDecimal.ROUND_HALF_UP);
                     sellOrderBalance = complementGoodsPrice.get(sellOrder.getGoodsId()).multiply(new BigDecimal(sellOrder.getNum())).multiply(goodsBalance).divide(complementPrice, 2, BigDecimal.ROUND_HALF_UP);
                 }
-                hasRouteSellOrderActualAmount = hasRouteSellOrderActualAmount.add(sellOrderActualAmount);
-                hasRouteSellOrderBalance = hasRouteSellOrderBalance.add(sellOrderBalance);
+
                 complementGoodsNum = complementGoodsNum - sellOrder.getNum();
                 if (complementGoodsNum <= 0) {
                     sellOrderActualAmount = goodsPrice.subtract(hasRouteSellOrderActualAmount);
                     sellOrderBalance = goodsBalance.subtract(hasRouteSellOrderActualAmount);
                 }
+                hasRouteSellOrderActualAmount = hasRouteSellOrderActualAmount.add(sellOrderActualAmount);
+                hasRouteSellOrderBalance = hasRouteSellOrderBalance.add(sellOrderBalance);
+
                 sellOrder.setExpectAmount(sellOrderActualAmount);
                 sellOrder.setBalanceAmount(sellOrderBalance);
                 sellOrder.setActualAmount(sellOrderActualAmount.subtract(sellOrderBalance));
@@ -221,13 +223,14 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
                         sellOrderActualAmount = complementGoodsPrice.get(sellOrder.getGoodsId()).multiply(new BigDecimal(sellOrder.getNum())).multiply(expectAmount).divide(complementPrice, 2, BigDecimal.ROUND_HALF_UP);
                         sellOrderBalance = complementGoodsPrice.get(sellOrder.getGoodsId()).multiply(new BigDecimal(sellOrder.getNum())).multiply(balance).divide(complementPrice, 2, BigDecimal.ROUND_HALF_UP);
                     }
-                    hasRouteSellOrderActualAmount = hasRouteSellOrderActualAmount.add(sellOrderActualAmount);
-                    hasRouteSellOrderBalance = hasRouteSellOrderBalance.add(sellOrderBalance);
-                    complementGoodsNum = complementGoodsNum - sellOrder.getNum();
+                     complementGoodsNum = complementGoodsNum - sellOrder.getNum();
                     if (complementGoodsNum <= 0) {
                         sellOrderActualAmount = expectAmount.subtract(hasRouteSellOrderActualAmount);
                         sellOrderBalance = balance.subtract(hasRouteSellOrderActualAmount);
                     }
+                    hasRouteSellOrderActualAmount = hasRouteSellOrderActualAmount.add(sellOrderActualAmount);
+                    hasRouteSellOrderBalance = hasRouteSellOrderBalance.add(sellOrderBalance);
+
                     sellOrder.setOrganId(studentPaymentOrder.getOrganId());
                     sellOrder.setTransNo(studentPaymentOrder.getTransNo());
                     sellOrder.setOrderId(studentPaymentOrder.getId());

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -624,13 +624,13 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                     sellOrderExpectAmount = complementGoodsPrice.get(sellOrder.getGoodsId()).multiply(new BigDecimal(sellOrder.getNum())).multiply(expectAmount).divide(complementPrice, 2, BigDecimal.ROUND_HALF_UP);
                     sellOrderBalance = complementGoodsPrice.get(sellOrder.getGoodsId()).multiply(new BigDecimal(sellOrder.getNum())).multiply(goodsBalance).divide(complementPrice, 2, BigDecimal.ROUND_HALF_UP);
                 }
-                hasRouteSellOrderExpectAmount = hasRouteSellOrderExpectAmount.add(sellOrderExpectAmount);
-                hasRouteSellOrderBalance = hasRouteSellOrderBalance.add(sellOrderBalance);
                 complementGoodsNum = complementGoodsNum - sellOrder.getNum();
                 if (complementGoodsNum <= 0) {
                     sellOrderExpectAmount = expectAmount.subtract(hasRouteSellOrderExpectAmount);
                     sellOrderBalance = goodsBalance.subtract(hasRouteSellOrderBalance);
                 }
+                hasRouteSellOrderExpectAmount = hasRouteSellOrderExpectAmount.add(sellOrderExpectAmount);
+                hasRouteSellOrderBalance = hasRouteSellOrderBalance.add(sellOrderBalance);
 
                 sellOrder.setExpectAmount(sellOrderExpectAmount);
                 sellOrder.setBalanceAmount(sellOrderBalance);