From 26043931d294d84ff7ef0305bf7879f74d70afdd Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 19 五月 2026 17:32:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0.1

---
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml |   74 ++++++++++++++++++------------------
 1 files changed, 37 insertions(+), 37 deletions(-)

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 cadb334..9eaf884 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
@@ -388,28 +388,18 @@
     </select>
     <select id="charge" resultType="com.ruoyi.order.dto.SixChargingDto">
         SELECT
-        DATE_FORMAT( subquery.create_time, '%m' ) AS MONTH,
-        SUM(electrovalence) AS electrovalence,
+        DATE_FORMAT(a.create_time, '%m') AS MONTH,
+        SUM(IFNULL(b.period_electric_price, 0)) AS electrovalence,
         SUM(
-        CASE
-        WHEN subquery.order_source = 0 THEN subquery.service_charge
-        WHEN subquery.order_source = 1 THEN subquery.service_charge
-        ELSE subquery.service_charge * 0.8
-        END
+            CASE
+            WHEN a.order_source = 0 THEN IFNULL(b.period_service_price, 0)
+            WHEN a.order_source = 1 THEN IFNULL(b.period_service_price, 0)
+            ELSE IFNULL(b.period_service_price, 0) * 0.8
+            END
         ) AS service_charge
-
-        FROM
-        (
-        SELECT
-        a.create_time,
-        b.period_electric_price as electrovalence,
-        b.period_service_price as service_charge,
-        a.order_source
         FROM
         t_charging_order a
-        left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
-        sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
-        from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
+        LEFT JOIN t_charging_order_accounting_strategy b ON a.id = b.charging_order_id
         <where>
             a.del_flag = 0 and a.recharge_payment_status = 2 and a.status = 5
             <if test="sixBefore != null">
@@ -422,25 +412,22 @@
                 </foreach>
             </if>
         </where>
-        ) AS subquery
         GROUP BY
-        DATE_FORMAT( subquery.create_time, '%m' )
+        DATE_FORMAT(a.create_time, '%m')
 
 
     </select>
     <select id="circle" resultType="com.ruoyi.order.dto.SixCircleDto">
         SELECT
-        site_id as siteId,
+        a.site_id as siteId,
         ROUND(SUM(CASE
-        WHEN a.order_source = 0 THEN b.money
-        WHEN a.order_source = 1 THEN b.money
-        ELSE (b.period_electric_price + b.period_service_price * 0.8)
+        WHEN a.order_source = 0 THEN IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0)
+        WHEN a.order_source = 1 THEN IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0)
+        ELSE (IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0) * 0.8)
         END), 2) AS paymentAmount
         FROM
         t_charging_order a
-        left join (select charging_order_id, sum(period_electric_price) as period_electric_price,
-        sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money
-        from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
+        LEFT JOIN t_charging_order_accounting_strategy b ON a.id = b.charging_order_id
         <where>
             a.del_flag = 0 and a.recharge_payment_status = 2 and a.status = 5
             <if test="siteIds != null and siteIds.size() > 0">
@@ -450,7 +437,7 @@
                 </foreach>
             </if>
             <if test="sixBefore != null">
-                AND create_time &gt;= #{sixBefore}
+                AND a.create_time &gt;= #{sixBefore}
             </if>
         </where>
         GROUP BY a.site_id
@@ -458,13 +445,25 @@
 
     </select>
     <select id="countAll" resultType="java.util.Map">
-        select sum(electrovalence) as electrovalence,sum(service_charge) as
-        service_charge,ROUND(sum(electrovalence+service_charge) * 0.006, 2) as commission_amount,sum(sharing_amount) as
-        sharing_amount
-        from t_charging_order
-        where del_flag = 0 and recharge_payment_status = 2 and status = 5
+        SELECT
+        ROUND(SUM(IFNULL(b.period_electric_price, 0)), 2) AS electrovalence,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 2 THEN IFNULL(b.period_service_price, 0) * 0.8
+        ELSE IFNULL(b.period_service_price, 0)
+        END), 2) AS service_charge,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 2 THEN 0
+        ELSE IFNULL(b.period_electric_price, 0) + IFNULL(b.period_service_price, 0)
+        END) * 0.006, 2) AS commission_amount,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 2 THEN IFNULL(b.period_service_price, 0) * 0.2
+        ELSE 0
+        END), 2) AS sharing_amount
+        FROM t_charging_order a
+        LEFT JOIN t_charging_order_accounting_strategy b ON a.id = b.charging_order_id
+        WHERE a.del_flag = 0 AND a.recharge_payment_status = 2 AND a.status = 5
         <if test="siteIds != null and siteIds.size() > 0">
-            AND site_id IN
+            AND a.site_id IN
             <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
                 #{siteId}
             </foreach>
@@ -1052,6 +1051,7 @@
         e.refund_amount as residualAmount,
         h.electrovalence as electrovalence,
         CASE WHEN a.order_source = 1 THEN h.serviceCharge ELSE h.serviceCharge * 0.8 END as serviceCharge,
+        CASE WHEN a.order_source = 2 THEN h.serviceCharge * 0.2 ELSE 0 END as sharingAmount,
         0 as commissionAmount,
         <!-- 引流平台分佣按三方订单原始服务费的20%计算,导出需展示在白名单字段前。 -->
         CASE WHEN a.order_source = 2 THEN IFNULL(h.serviceCharge, 0) * 0.2 ELSE 0 END as sharingAmount,
@@ -2239,7 +2239,7 @@
 
     <select id="exchangeCodeBalanceSummary" resultType="map">
         select
-        sum(CASE WHEN change_type = 2 THEN IFNULL(used_amount, 0) WHEN change_type = 3 THEN -IFNULL(used_amount, 0) ELSE 0 END) as balanceIncome,
+        sum(CASE WHEN change_type = 2 THEN IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -(IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0)) ELSE 0 END) as balanceIncome,
         sum(CASE WHEN change_type = 2 THEN IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -IFNULL(gift_used_amount, 0) ELSE 0 END) as balanceGiftIncome
         from `charging_pile_other`.t_exchange_code_use_record
         where del_flag = 0 and change_type in (2, 3)
@@ -2254,7 +2254,7 @@
     <select id="exchangeCodeBalanceIncomeByOrderIds" resultType="map">
         select
         order_id as orderId,
-        sum(CASE WHEN change_type = 2 THEN IFNULL(used_amount, 0) WHEN change_type = 3 THEN -IFNULL(used_amount, 0) ELSE 0 END) as balanceIncome,
+        sum(CASE WHEN change_type = 2 THEN IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -(IFNULL(used_amount, 0) - IFNULL(gift_used_amount, 0)) ELSE 0 END) as balanceIncome,
         sum(CASE WHEN change_type = 2 THEN IFNULL(gift_used_amount, 0) WHEN change_type = 3 THEN -IFNULL(gift_used_amount, 0) ELSE 0 END) as balanceGiftIncome
         from `charging_pile_other`.t_exchange_code_use_record
         where del_flag = 0 and order_id is not null and order_id != 0 and change_type in (2, 3)
@@ -2271,7 +2271,7 @@
         select
         p.id as packageId,
         p.package_name as packageName,
-        sum(CASE WHEN r.change_type = 2 THEN IFNULL(r.used_amount, 0) WHEN r.change_type = 3 THEN -IFNULL(r.used_amount, 0) ELSE 0 END) as balanceIncome,
+        sum(CASE WHEN r.change_type = 2 THEN IFNULL(r.used_amount, 0) - IFNULL(r.gift_used_amount, 0) WHEN r.change_type = 3 THEN -(IFNULL(r.used_amount, 0) - IFNULL(r.gift_used_amount, 0)) ELSE 0 END) as balanceIncome,
         sum(CASE WHEN r.change_type = 2 THEN IFNULL(r.gift_used_amount, 0) WHEN r.change_type = 3 THEN -IFNULL(r.gift_used_amount, 0) ELSE 0 END) as giftIncome
         from `charging_pile_other`.t_exchange_code_use_record r
         left join `charging_pile_other`.t_exchange_code_detail d on r.detail_id = d.id

--
Gitblit v1.7.1