From ef04ce57881e6a338b10d596c5eb76b2220598bf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 31 八月 2023 11:16:49 +0800
Subject: [PATCH] 更新版本

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/RevenueMapper.xml |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/RevenueMapper.xml b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/RevenueMapper.xml
index 79eed9b..a694c06 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/RevenueMapper.xml
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/RevenueMapper.xml
@@ -10,7 +10,76 @@
         <result column="userId" property="userId" />
         <result column="orderId" property="orderId" />
         <result column="amount" property="amount" />
+        <result column="balance" property="balance"/>
         <result column="createTime" property="createTime" />
     </resultMap>
 
+
+    <select id="queryTotalAmount" resultType="double">
+        select sum(amount) as amount from t_revenue where userType = 2 and userId = #{driverId} and type in (1,2)
+    </select>
+
+
+    <select id="queryDriverRank" resultType="com.supersavedriving.driver.modular.system.warpper.PerformanceRankingWarpper">
+        select
+        aa.driverId,
+        @ROW :=@ROW + 1 as rank,
+        aa.`name`,
+        UNIX_TIMESTAMP(aa.createTime) * 1000 as createTime,
+        aa.number as amountOfData
+        from (
+        select
+        a.userId as driverId,
+        b.`name`,
+        MAX(a.createTime) as createTime,
+        sum(a.amount) as number
+        from t_revenue a
+        left join t_driver b on (a.userId = b.id)
+        where a.userType = 2
+        <if test="null != type">
+            and a.type = #{type}
+        </if>
+        <if test="null != dayType and 1 == dayType"><!--天-->
+            <if test="null != time and '' != time">
+                and DATE_FORMAT(a.createTime, '%Y年%m月%d日') = #{time}
+            </if>
+        </if>
+        <if test="null != dayType and 2 == dayType"><!--月-->
+            <if test="null != time and '' != time">
+                and DATE_FORMAT(a.createTime, '%Y年%m月') = #{time}
+            </if>
+        </if>
+        <if test="null != dayType and 3 == dayType"><!--年-->
+            <if test="null != time and '' != time">
+                and DATE_FORMAT(a.createTime, '%Y年') = #{time}
+            </if>
+        </if>
+        group by a.userId,b.`name`
+        ) as aa,( SELECT @ROW := 0 ) AS itable order by aa.number desc
+    </select>
+
+
+    <select id="queryAgentBalance" resultType="double">
+        select
+        sum(aa.income) - sum(aa.disburse) as balance
+        from (
+        select sum(amount) as income, 0 as disburse from t_revenue where userType = 3 and userId = #{companyId}
+        union all
+        select 0 as ncome, sum(amount) as disburse from t_settlement_record where type = 2 and objectId = #{companyId}
+        ) as aa
+    </select>
+
+
+
+    <select id="queryCompanyBalance" resultType="double">
+        select
+        sum(aa.income) - sum(aa.disburse) + sum(aa.recharge) as balance
+        from (
+        select sum(amount) as income, 0 as disburse, 0 as recharge from t_revenue where userType = 4
+        union all
+        select 0 as ncome, sum(amount) as disburse, 0 as recharge from t_settlement_record where type = 1
+        union all
+        select 0 as ncome, 0 as disburse, sum(surplusDividedAmount) as recharge from t_recharge_record where type = 4 and payStatus = 2
+        ) as aa
+    </select>
 </mapper>

--
Gitblit v1.7.1