|
@@ -418,7 +418,6 @@ public class PayServiceImpl implements PayService {
|
|
|
BigDecimal sellHasRouteBalance = BigDecimal.ZERO;
|
|
|
|
|
|
Iterator<RouteScaleDto> iterator = routeScaleDtos.iterator();
|
|
|
- BigDecimal maxAmount = BigDecimal.ZERO;
|
|
|
while (iterator.hasNext()) {
|
|
|
RouteScaleDto routeScaleDto = iterator.next();
|
|
|
routeScaleDto.setPayType(paymentConfig.getPayType());
|
|
@@ -457,9 +456,6 @@ public class PayServiceImpl implements PayService {
|
|
|
iterator.remove();
|
|
|
continue;
|
|
|
}
|
|
|
- if (routeScaleDto.getAmount().compareTo(maxAmount) > 0) {
|
|
|
- maxAmount = routeScaleDto.getAmount();
|
|
|
- }
|
|
|
|
|
|
for (SysPaymentConfig paymentConfigByOrganId : paymentConfigByOrganIds) {
|
|
|
if (!paymentConfigByOrganId.getOrganId().equals(routeScaleDto.getOrganId())) continue;
|
|
@@ -470,9 +466,10 @@ public class PayServiceImpl implements PayService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- boolean hasFeeFlag = false;
|
|
|
Map<String, List<RouteScaleDto>> routeScaleDtosMap = routeScaleDtos.stream().collect(Collectors.groupingBy(RouteScaleDto::getMerNo));
|
|
|
|
|
|
+ //合并同账号的数据
|
|
|
+ BigDecimal maxAmount = BigDecimal.ZERO;
|
|
|
List<RouteScaleDto> newRouteScaleDtos = new ArrayList<>();
|
|
|
for (Map.Entry<String, List<RouteScaleDto>> groupRouteScaleDtos : routeScaleDtosMap.entrySet()) {
|
|
|
RouteScaleDto routeScaleDto = null;
|
|
@@ -483,15 +480,23 @@ public class PayServiceImpl implements PayService {
|
|
|
routeScaleDto.setAmount(routeScaleDto.getAmount().add(scaleDto.getAmount()));
|
|
|
routeScaleDto.setBalance(routeScaleDto.getBalance().add(scaleDto.getBalance()));
|
|
|
}
|
|
|
- if (!hasFeeFlag && scaleDto.getAmount().compareTo(maxAmount) == 0) {
|
|
|
- routeScaleDto.setFeeFlag("Y");
|
|
|
- hasFeeFlag = true;
|
|
|
- } else {
|
|
|
- routeScaleDto.setFeeFlag("N");
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (routeScaleDto != null && routeScaleDto.getAmount().compareTo(maxAmount) > 0) {
|
|
|
+ maxAmount = routeScaleDto.getAmount();
|
|
|
}
|
|
|
newRouteScaleDtos.add(routeScaleDto);
|
|
|
}
|
|
|
+
|
|
|
+ //金额最大的账号承担手续费
|
|
|
+ boolean hasFeeFlag = false;
|
|
|
+ for (RouteScaleDto routeScaleDto : newRouteScaleDtos) {
|
|
|
+ if (!hasFeeFlag && routeScaleDto.getAmount().compareTo(maxAmount) == 0) {
|
|
|
+ routeScaleDto.setFeeFlag("Y");
|
|
|
+ hasFeeFlag = true;
|
|
|
+ } else {
|
|
|
+ routeScaleDto.setFeeFlag("N");
|
|
|
+ }
|
|
|
+ }
|
|
|
return newRouteScaleDtos;
|
|
|
}
|
|
|
}
|