From ac1b61bd1380a0532d149e9023f5d08f3046a765 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 05 八月 2026 16:31:41 +0800
Subject: [PATCH] fix: align franchisee charging income

---
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml               |    4 ++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |    2 +-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/FranchiseeDayStat.java               |    3 +++
 3 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 438c376..9593911 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
@@ -224,7 +224,7 @@
         summary.put("orderAmountWan", sum(dayStats, FranchiseeDayStat::getOrderAmount).divide(BigDecimal.valueOf(10000), 4, RoundingMode.HALF_UP));
         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::getOrderAmountEffective));
+        summary.put("chargingAmount", sum(dayStats, FranchiseeDayStat::getChargingIncome));
         summary.put("chargingOrderCount", dayStats.stream().mapToLong(stat -> numberValue(stat.getOrderCount())).sum());
         summary.put("powerUtilizationRate", observedPowerUtilization(dayStats));
         summary.put("demandPowerSatisfactionRate", demandPowerSatisfaction(dayStats));
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/FranchiseeDayStat.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/FranchiseeDayStat.java
index 9381ee0..0050ac2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/FranchiseeDayStat.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/FranchiseeDayStat.java
@@ -33,6 +33,9 @@
     /** 累计电费合计 */
     private BigDecimal electrovalence;
 
+    /** 后台订单汇总口径的充电收入(电费 + 按订单来源折算后的服务费) */
+    private BigDecimal chargingIncome;
+
     /** 充电总度数合计 */
     private BigDecimal capacity;
 
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index 5b404a5..798e94b 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -3634,6 +3634,10 @@
                SUM(IFNULL(payment_amount, 0))       AS paymentAmount,
                SUM(IFNULL(service_charge, 0))       AS serviceFee,
                SUM(IFNULL(electrovalence, 0))       AS electrovalence,
+               SUM(IFNULL(electrovalence, 0) + CASE
+                       WHEN order_source = 1 THEN IFNULL(service_charge, 0)
+                       ELSE IFNULL(service_charge, 0) * 0.8
+                   END)                              AS chargingIncome,
                SUM(IFNULL(charging_capacity, 0))    AS capacity,
                SUM(IFNULL(charging_power, power))   AS totalPower,
                COUNT(IFNULL(charging_power, power)) AS powerCount,

--
Gitblit v1.7.1