Browse Source

update 分润设置

周箭河 5 years ago
parent
commit
7e0c1f5697

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

@@ -472,6 +472,7 @@ public class PayServiceImpl implements PayService {
         List<Map<String, Object>> tempRoutingList = new ArrayList<>();
 
         PaymentChannelEnum patType = null;
+        boolean hasFeeFlag = false;
         for (RouteScaleDto routeScaleDto : routeScaleDtos) {
             patType = routeScaleDto.getPayType();
             Map<String, Object> routingList = new HashMap<>();
@@ -483,7 +484,7 @@ public class PayServiceImpl implements PayService {
             }
             BigDecimal routingFee = routingAmount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
             BigDecimal routeBalanceAmount = balanceAmount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
-            BigDecimal routingMoney = routingAmount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal routingMoney = amount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
             if (i == routeScaleDtos.size()) {
                 routingFee = routingAmount.subtract(hasRouteAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
                 routeBalanceAmount = balanceAmount.subtract(hasRouteBalanceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
@@ -491,19 +492,27 @@ public class PayServiceImpl implements PayService {
             }
             hasRouteAmount = hasRouteAmount.add(routingFee);
             hasRouteBalanceAmount = hasRouteBalanceAmount.add(routeBalanceAmount);
+            hasRouteMoney = hasRouteMoney.add(routingMoney);
 
             if (routingFee.compareTo(BigDecimal.ZERO) <= 0) {
                 continue;
             }
+            if(routeScaleDto.getFeeFlag().equals("Y")){
+                hasFeeFlag = true;
+            }
             routingList.put("routingMerNo", routeScaleDto.getMerNo());//分佣账户
             routingList.put("routingFee", routingFee); //分佣金额
 
+            String feeFlag = routeScaleDto.getFeeFlag();
             tempRoutingList.add(routingList);
+            if (i == routeScaleDtos.size() && !hasFeeFlag) {
+                feeFlag = "Y";
+            }
 
             StudentPaymentRouteOrder studentPaymentRouteOrder = new StudentPaymentRouteOrder();
             studentPaymentRouteOrder.setOrderNo(orderNo);
             studentPaymentRouteOrder.setRouteOrganId(routeScaleDto.getOrganId());
-            studentPaymentRouteOrder.setFeeFlag(routeScaleDto.getFeeFlag());
+            studentPaymentRouteOrder.setFeeFlag(feeFlag);
             studentPaymentRouteOrder.setRouteAmount(routingMoney);
             studentPaymentRouteOrder.setRouteBalanceAmount(routeBalanceAmount);
             studentPaymentRouteOrder.setMerNo(routeScaleDto.getMerNo());