zouxuan 5 rokov pred
rodič
commit
cb912a1fe8

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -771,6 +771,8 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
         Map<Integer,BigDecimal> parentGoodsCutTotalPriceMap = new HashMap<>();
         //组合商品附加金额
         Map<Integer,BigDecimal> parentGoodsAddTotalPriceMap = new HashMap<>();
+        //组合商品实际总价
+        Map<Integer,BigDecimal> parentGoodsTotalPriceMap = new HashMap<>();
         //应付总额
         BigDecimal totalActual = totalAmount.subtract(marketAmount);
         //可用应付
@@ -799,6 +801,7 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
             for (GoodsSellDto sellDto : goodsSellDto.getGoodsSellDtos()) {
                 totalGoodsPrice = totalGoodsPrice.add(sellDto.getTotalGoodsPrice());
             }
+            parentGoodsTotalPriceMap.put(sellOrder.getParentGoodsId(),totalGoodsPrice);
             //如果组合价大于预计总价
             if (parentTotalGoodsPrice.compareTo(totalGoodsPrice) == 1){
                 parentGoodsAddTotalPriceMap.put(sellOrder.getParentGoodsId(),parentTotalGoodsPrice.subtract(totalGoodsPrice));
@@ -816,12 +819,13 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
 
             //获取组合商品销售总价
             GoodsSellDto goodsSellDto = collect.get(parentGoodsId).get(0);
-            BigDecimal divide = goodsSellDto.getGoodsPrice();
+//            BigDecimal divide = goodsSellDto.getGoodsPrice();
 
             //获取子商品明细map
             List<GoodsSellDto> sellDtos = goodsSellDto.getGoodsSellDtos();
             Map<Integer, List<GoodsSellDto>> subGoodsMap = sellDtos.stream().collect(Collectors.groupingBy(GoodsSellDto::getGoodsId));
             List<Integer> integers = new ArrayList<>(subGoodsMap.keySet());
+            BigDecimal divide = parentGoodsTotalPriceMap.get(parentGoodsId);
             for (int i = 0; i < integers.size(); i++) {
                 GoodsSellDto sellDto = subGoodsMap.get(integers.get(i)).get(0);
                 //获取比例