diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 63ff8d21d..10e117a93 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2359,13 +2359,27 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .map(splitData -> new BigDecimal(splitData.getAmount())) .reduce(BigDecimal.ZERO, BigDecimal::add); + // 电费汇总 + BigDecimal totalElectricityAmount = group.stream() + .map(SplitData::getElecAmount) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + // 服务费汇总 + BigDecimal totalServiceAmount = group.stream() + .map(SplitData::getServiceAmount) + .reduce(BigDecimal.ZERO, BigDecimal::add); + // 创建新的汇总记录,使用该组第一条记录的 feeFlag SplitData aggregatedData = new SplitData(); aggregatedData.setMemberId(memberId); aggregatedData.setAmount(totalAmount.toString()); + aggregatedData.setElecAmount(totalElectricityAmount); + aggregatedData.setServiceAmount(totalServiceAmount); // 保留原始的 feeFlag 数据(取第一条记录的值) if (!group.isEmpty()) { aggregatedData.setFeeFlag(group.get(0).getFeeFlag()); + aggregatedData.setElecRatio(group.get(0).getElecRatio()); + aggregatedData.setServiceRatio(group.get(0).getServiceRatio()); } result.add(aggregatedData); }