|
@@ -401,7 +401,6 @@ public class PayServiceImpl implements PayService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
String typeRouteScale = paymentConfig.getTypeRouteScale();
|
|
|
List<RouteScaleDto> routeScaleDtos = JSON.parseArray(typeRouteScale, RouteScaleDto.class);
|
|
|
List<Integer> organIds = routeScaleDtos.stream().map(RouteScaleDto::getOrganId).collect(Collectors.toList());
|
|
@@ -472,14 +471,27 @@ 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");
|
|
|
+ Map<String, List<RouteScaleDto>> routeScaleDtosMap = routeScaleDtos.stream().collect(Collectors.groupingBy(RouteScaleDto::getMerNo));
|
|
|
+
|
|
|
+ List<RouteScaleDto> newRouteScaleDtos = new ArrayList<>();
|
|
|
+ for (Map.Entry<String, List<RouteScaleDto>> groupRouteScaleDtos : routeScaleDtosMap.entrySet()) {
|
|
|
+ RouteScaleDto routeScaleDto = null;
|
|
|
+ for (RouteScaleDto scaleDto : groupRouteScaleDtos.getValue()) {
|
|
|
+ if(routeScaleDto == null){
|
|
|
+ routeScaleDto = scaleDto;
|
|
|
+ }else {
|
|
|
+ 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");
|
|
|
+ }
|
|
|
}
|
|
|
+ newRouteScaleDtos.add(routeScaleDto);
|
|
|
}
|
|
|
- return routeScaleDtos;
|
|
|
+ return newRouteScaleDtos;
|
|
|
}
|
|
|
}
|