From 169efb6680990457812e24fe038c9d251fac4ec3 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期二, 24 六月 2025 20:11:17 +0800
Subject: [PATCH] feat(card): 添加创建管理卡功能并优化卡片地址校验

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 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 cd47ae0..c60504f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -838,4 +838,46 @@
       </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 (
+      -- 妫�鏌ョ鐞嗗崱琛ㄤ腑鐨勬墍鏈夎褰�
+      SELECT card_addr FROM se_management_card 
+      WHERE card_addr = #{cardAddr}
+      
+      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