Bladeren bron

管乐迷商城改造

zouxuan 1 jaar geleden
bovenliggende
commit
d0514e2767

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

@@ -288,23 +288,14 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
         }
         }
         //获取总金额
         //获取总金额
         BigDecimal detailTotalPrice = goodsOrderDetails.stream().map(StudentPaymentOrderDetail::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal detailTotalPrice = goodsOrderDetails.stream().map(StudentPaymentOrderDetail::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal balancePaymentAmount = studentPaymentOrder.getBalancePaymentAmount();
-        if (balancePaymentAmount.compareTo(BigDecimal.ZERO) > 0) {
-            BigDecimal expectAmount = studentPaymentOrder.getExpectAmount();
-            BigDecimal organShareProfit = orderDetails.stream().filter(o -> o.getType() == ORGAN_SHARE_PROFIT).map(StudentPaymentOrderDetail::getPrice)
-                    .reduce(BigDecimal.ZERO, BigDecimal::add);
-            if(organShareProfit != null){
-                expectAmount = expectAmount.subtract(organShareProfit);
-            }
-            //获取比例
-            BigDecimal ratioAmount = BigDecimal.ZERO;
-            if(expectAmount.compareTo(BigDecimal.ZERO) > 0){
-                ratioAmount = balancePaymentAmount.divide(expectAmount, 6, BigDecimal.ROUND_HALF_UP);
-            }
-            //获取分配的减免金额
-            balancePaymentAmount = balancePaymentAmount.multiply(ratioAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
+        //获取比例
+        BigDecimal totalRatioAmount = BigDecimal.ZERO;
+        if(studentPaymentOrder.getExpectAmount().compareTo(BigDecimal.ZERO) > 0){
+            totalRatioAmount = detailTotalPrice.divide(studentPaymentOrder.getExpectAmount(), 6, BigDecimal.ROUND_HALF_UP);
         }
         }
-        //获取总减免金额
+        //获取分配的余额
+        BigDecimal balancePaymentAmount = studentPaymentOrder.getBalancePaymentAmount().multiply(totalRatioAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
+        //获取总优惠券金额
         BigDecimal detailTotalRemitPrice = goodsOrderDetails.stream().map(StudentPaymentOrderDetail::getRemitFee).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal detailTotalRemitPrice = goodsOrderDetails.stream().map(StudentPaymentOrderDetail::getRemitFee).reduce(BigDecimal.ZERO, BigDecimal::add);
 
 
         List<SellOrder> sellOrders = new ArrayList<>();
         List<SellOrder> sellOrders = new ArrayList<>();
@@ -497,7 +488,7 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
     }
     }
 
 
     @Override
     @Override
-    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
+    @Transactional(rollbackFor = Exception.class)
     public List<SellOrder> refund(List<SellOrder> sellOrders, Boolean reBackFee) {
     public List<SellOrder> refund(List<SellOrder> sellOrders, Boolean reBackFee) {
         Date nowDate = new Date();
         Date nowDate = new Date();
         for (SellOrder sellOrder : sellOrders) {
         for (SellOrder sellOrder : sellOrders) {

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -689,7 +689,6 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         //销售订单详情
         //销售订单详情
         if (allDetails.size() > 0 && (detailTypeEnums.contains(MUSICAL) || detailTypeEnums.contains(ACCESSORIES) || detailTypeEnums.contains(TEACHING))) {
         if (allDetails.size() > 0 && (detailTypeEnums.contains(MUSICAL) || detailTypeEnums.contains(ACCESSORIES) || detailTypeEnums.contains(TEACHING))) {
             sellOrderService.addOrderDetail2SellOrder(allDetails, studentPaymentOrder, musicGroup.getId());
             sellOrderService.addOrderDetail2SellOrder(allDetails, studentPaymentOrder, musicGroup.getId());
-
         }
         }
 
 
         //活动小课包处理
         //活动小课包处理