From f27bcdd3a3dcc85fdb8334399240d27d7f964c01 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 23 一月 2024 09:04:39 +0800
Subject: [PATCH] 2024-01-23 朱宝民 添加交易明细接口和交易统计接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 158 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
index df474b2..553c23f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -293,4 +293,162 @@
       LIMIT ${pageCurr}, ${pageSize}
     </if>
   </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�-->
+  <select id="getTransactionRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍-->
+  <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTransaction">
+    SELECT
+        ope.id AS orderNumber,
+        cli.villageId,
+        cli.districtTitle,
+        cli.clientNum,
+        cli.`name`,
+        card.cardNum,
+        cli.idCard,
+        cli.phone,
+        (CASE operate_type
+            WHEN 1 THEN '寮�鍗�'
+            WHEN 2 THEN '鍏呭��'
+            WHEN 3 THEN '閿�鍗�'
+            WHEN 4 THEN '琛ュ崱'
+        END) AS operateType,
+        ope.operate_dt AS operateTime,
+        IFNULL(ope.money, 0) AS money,
+        IFNULL(ope.trade_amount, 0) AS waterCost,
+        IFNULL(ope.gift, 0) AS gift,
+        IFNULL(ope.card_cost, 0) AS cardCost,
+        pay.`name` paymentMethod,
+        user.name AS operatorName
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+    ORDER BY ope.operate_dt
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${pageCurr}, ${pageSize}
+    </if>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�伙紝鑾峰彇浜ゆ槗鏄庣粏浣跨敤-->
+  <select id="getTransactionSums" resultType="java.util.Map">
+    SELECT
+        IFNULL(SUM(trade_amount),0) AS waterCost,
+        IFNULL(SUM(card_cost),0) AS cardCost
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍鏁�-->
+  <select id="getTransactionStatisticsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍-->
+  <select id="getTransactionStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics">
+    SELECT * FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+    ORDER BY tradeDate
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${pageCurr}, ${pageSize}
+    </if>
+  </select>
+
+  <!--鏍瑰熀鎸囧畾鏉′欢鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�-->
+  <select id="getTransactionStatisticsSums" resultType="java.util.Map">
+    SELECT
+      SUM(count) AS totalCount,
+      SUM(received) AS totalReceived,
+      SUM(gift) AS totalGift
+    FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�-->
+  <select id="getPaymentSums" resultType="java.lang.Float">
+    SELECT
+      SUM(ope.trade_amount) AS tradeAmount
+    FROM se_card_operate ope
+    <where>
+      <if test = "tradeDate != null and tradeDate !=''">
+        AND Date(ope.operate_dt) = #{tradeDate}
+      </if>
+
+      <if test = "paymentId != null and paymentId >0">
+        AND ope.payment_id = ${paymentId}
+      </if>
+    </where>
+    GROUP BY ope.payment_id,  Date(ope.operate_dt)
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0