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