浏览代码

update 按费用类型增加分佣规则

周箭河 4 年之前
父节点
当前提交
e2115f639b
共有 1 个文件被更改,包括 12 次插入6 次删除
  1. 12 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

+ 12 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -419,7 +419,7 @@ public class PayServiceImpl implements PayService {
         BigDecimal sellHasRouteBalance = BigDecimal.ZERO;
 
         Iterator<RouteScaleDto> iterator = routeScaleDtos.iterator();
-        boolean hasFeeFlag = false;
+        BigDecimal maxAmount = BigDecimal.ZERO;
         while (iterator.hasNext()) {
             RouteScaleDto routeScaleDto = iterator.next();
             routeScaleDto.setPayType(paymentConfig.getPayType());
@@ -458,11 +458,8 @@ public class PayServiceImpl implements PayService {
                 iterator.remove();
                 continue;
             }
-            if (!hasFeeFlag && routeScaleDto.getAmount().compareTo(amount.divide(new BigDecimal(routeScaleDtos.size()), 2, BigDecimal.ROUND_DOWN)) >= 0) {
-                routeScaleDto.setFeeFlag("Y");
-                hasFeeFlag = true;
-            } else {
-                routeScaleDto.setFeeFlag("N");
+            if (routeScaleDto.getAmount().compareTo(maxAmount) > 0) {
+                maxAmount = routeScaleDto.getAmount();
             }
 
             for (SysPaymentConfig paymentConfigByOrganId : paymentConfigByOrganIds) {
@@ -474,6 +471,15 @@ public class PayServiceImpl implements PayService {
                 }
             }
         }
+        boolean hasFeeFlag = false;
+        for (RouteScaleDto routeScaleDto : routeScaleDtos) {
+            if (!hasFeeFlag && routeScaleDto.getAmount().compareTo(maxAmount) == 0) {
+                routeScaleDto.setFeeFlag("Y");
+                hasFeeFlag = true;
+            } else {
+                routeScaleDto.setFeeFlag("N");
+            }
+        }
         return routeScaleDtos;
     }
 }