From c643d549a2d6a801a5fc9d11663599eaa00bb1ed Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期五, 07 八月 2026 18:38:59 +0800
Subject: [PATCH] fix: correct franchisee order amount

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 7cf340a..41fc367 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/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) {

--
Gitblit v1.7.1