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