longz
2026-08-07 c643d549a2d6a801a5fc9d11663599eaa00bb1ed
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -220,7 +220,7 @@
        LocalDateTime[] range = franchiseeRange(params);
        List<FranchiseeDayStat> dayStats = franchiseeDayStats(siteIds, range);
        Map<String, Object> summary = new LinkedHashMap<>();
        summary.put("orderAmountWan", sum(dayStats, FranchiseeDayStat::getChargingIncome).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP));
        summary.put("orderAmountWan", franchiseeOrderAmountWan(dayStats));
        summary.put("serviceFeeWan", sum(dayStats, FranchiseeDayStat::getServiceFee).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP));
        summary.put("chargingPowerWan", sum(dayStats, FranchiseeDayStat::getCapacity).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP));
        summary.put("chargingAmount", sum(dayStats, FranchiseeDayStat::getChargingIncome));
@@ -649,6 +649,13 @@
        return new LocalDateTime[]{today.atStartOfDay(), today.plusDays(1).atStartOfDay()};
    }
    static BigDecimal franchiseeOrderAmountWan(List<FranchiseeDayStat> stats) {
        return stats.stream().map(FranchiseeDayStat::getPaymentAmount)
                .map(value -> value == null ? BigDecimal.ZERO : value)
                .reduce(BigDecimal.ZERO, BigDecimal::add)
                .divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP);
    }
    private <T> BigDecimal sum(List<T> items, java.util.function.Function<T, BigDecimal> getter) { return items.stream().map(getter).map(this::value).reduce(BigDecimal.ZERO, BigDecimal::add); }
    private BigDecimal value(BigDecimal value) { return value == null ? BigDecimal.ZERO : value; }
    private Map<LocalDate, FranchiseeDayStat> dayStatByDay(List<FranchiseeDayStat> stats) {