yanderong
2026-08-18 036efa3349b001fc96d1d95ea08cf6997eaf0db9
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -220,9 +220,13 @@
        LocalDateTime[] range = franchiseeRange(params);
        List<FranchiseeDayStat> dayStats = franchiseeDayStats(siteIds, range);
        Map<String, Object> summary = new LinkedHashMap<>();
        summary.put("orderAmountWan", franchiseeOrderAmountWan(dayStats));
        BigDecimal incomeWan = franchiseeIncomeWan(dayStats);
        BigDecimal totalChargingCapacityWan = sum(dayStats, FranchiseeDayStat::getCapacity).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP);
        summary.put("incomeWan", incomeWan);
        summary.put("orderAmountWan", incomeWan);
        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("totalChargingCapacityWan", totalChargingCapacityWan);
        summary.put("chargingPowerWan", totalChargingCapacityWan);
        summary.put("chargingAmount", sum(dayStats, FranchiseeDayStat::getChargingIncome));
        summary.put("chargingOrderCount", dayStats.stream().mapToLong(stat -> numberValue(stat.getOrderCount())).sum());
        summary.put("powerUtilizationRate", observedPowerUtilization(dayStats));
@@ -649,8 +653,8 @@
        return new LocalDateTime[]{today.atStartOfDay(), today.plusDays(1).atStartOfDay()};
    }
    static BigDecimal franchiseeOrderAmountWan(List<FranchiseeDayStat> stats) {
        return stats.stream().map(FranchiseeDayStat::getPaymentAmount)
    static BigDecimal franchiseeIncomeWan(List<FranchiseeDayStat> stats) {
        return stats.stream().map(FranchiseeDayStat::getChargingIncome)
                .map(value -> value == null ? BigDecimal.ZERO : value)
                .reduce(BigDecimal.ZERO, BigDecimal::add)
                .divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP);