From d2fc819dc069c7b8d338ae52a90a7f38704fac08 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期三, 25 六月 2025 19:52:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
index a6c5b32..76c469e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -781,4 +781,104 @@
<select id="getOriginalCardIdByCardId" resultType="java.lang.Long">
SELECT original_card_id AS originalCardId FROM se_client_card WHERE id = #{cardId};
</select>
+
+ <!--鍏呭�兼満鐢ㄦ牴鎹ˉ鍗$殑璁㈠崟鍙峰皢鎸傚け姘村崱浣欓缃浂-->
+ <update id="emptyCardBalance">
+ UPDATE se_client_card
+ SET money = 0
+ WHERE id = (SELECT original_card_id FROM se_client_card WHERE id = (SELECT card_id FROM se_card_operate WHERE order_no = #{orderNumber}))
+ </update>
+
+ <!--鍏呭�兼満鐢ㄨ幏鍙栧啘鎴锋按鍗′俊鎭�-->
+ <select id="getTermCardInfo" resultType="com.dy.pipIrrGlobal.voSe.VoTermCard">
+ SELECT
+ card.cardNum,
+ 1 AS cardType,
+ card.money,
+ card.state,
+ cli.name AS userName,
+ cli.clientNum,
+ cli.phone,
+ cli.address,
+ card.rechargeDt AS lastRechargeTime,
+ card.protocol AS cardAgreement
+ FROM se_client_card card
+ INNER JOIN se_client cli ON cli.id = card.clientId
+ WHERE card.cardAddr = #{cardAddr} AND card.state != 4
+ ORDER BY card.createDt DESC
+ LIMIT 1
+ </select>
+
+ <!--鑾峰彇宸叉寕澶辨按鍗″垪琛ㄨ褰曟暟閲�-->
+ <select id="getLostCardsCount" parameterType="java.util.Map" resultType="java.lang.Long">
+ SELECT COUNT(*) AS recordCount
+ FROM se_client_card card
+ LEFT JOIN se_client cli ON card.clientId = cli.id
+ WHERE card.state = 3
+ </select>
+
+ <!--鑾峰彇宸叉寕澶辨按鍗″垪琛�-->
+ <select id="getLostCards" resultType="com.dy.pipIrrGlobal.voSe.VoCards">
+ SELECT cli.clientNum,
+ cli.name AS clientName,
+ card.cardNum,
+ cli.phone,
+ cli.idCard,
+ card.state AS cardState,
+ '宸叉寕澶�' AS stateName,
+ '鍐滄埛鍗�' AS cardType,
+ FORMAT(card.money, 2) AS money
+ FROM se_client_card card
+ LEFT JOIN se_client cli ON card.clientId = cli.id
+ WHERE card.state = 3
+ ORDER BY card.lossDtDt DESC
+ <trim prefix="limit ">
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
+
+ <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍗′俊鎭�-->
+ <select id="getCardByCardNum" resultType="com.dy.pipIrrGlobal.voSe.VoCardByClientNum">
+ SELECT
+ card.cardNum,
+ card.state AS cardState,
+ '鍐滄埛鍗�' AS cardType,
+ cli.name AS clientName,
+ cli.clientNum,
+ cli.idCard,
+ FORMAT(card.money, 1) AS money,
+ cli.phone,
+ (CASE
+ WHEN card.state = 1 THEN '姝e父'
+ WHEN card.state = 2 THEN '宸叉敞閿�'
+ WHEN card.state = 3 THEN '宸叉寕澶�'
+ WHEN card.state = 4 THEN '鏃犳晥'
+ ELSE '鏈煡'
+ END) AS stateName
+ FROM se_client_card card
+ INNER JOIN se_client cli ON card.clientId = cli.id
+ WHERE card.cardNum = #{cardNum}
+ AND card.state != 4
+ ORDER BY card.createDt DESC
+ LIMIT 1
+ </select>
+
+ <!--妫�鏌ュ崱鍦板潃鏄惁宸插瓨鍦紙绠$悊鍗¤〃 + 鍐滄埛姘村崱琛級-->
+ <select id="checkCardAddrExists" resultType="java.lang.Long">
+ SELECT COUNT(*) AS totalCount FROM (
+ -- 妫�鏌ョ鐞嗗崱琛ㄤ腑姝e父(1)鍜屾寕澶�(3)鐘舵�佺殑璁板綍锛屾帓闄ゅ凡娉ㄩ攢(2)鍜屾湭鍐欏崱(4)
+ SELECT card_addr FROM se_management_card
+ WHERE card_addr = #{cardAddr}
+ AND state IN (1, 3)
+
+ UNION ALL
+
+ -- 妫�鏌ュ啘鎴锋按鍗¤〃涓甯�(1)鍜屾寕澶�(3)鐘舵�佺殑璁板綍
+ SELECT cardAddr FROM se_client_card
+ WHERE cardAddr = #{cardAddr}
+ AND state IN (1, 3)
+ ) AS combined_result
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0