|
@@ -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());
|