From 7ccce6911249a0a9df42f2e04e7a34da4c66a6da Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 30 八月 2024 10:01:33 +0800
Subject: [PATCH] 2024-08-30 朱宝民 获取地图中心坐标、是否允许开卡验证

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml |   92 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 74 insertions(+), 18 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 71d1989..d34f935 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -75,6 +75,16 @@
     WHERE card.cardAddr = #{cardAddr} and  card.cardNum = #{cardNum}
   </select>
 
+
+  <!-- 鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱 -->
+  <select id="getCardsByAddrAndNum"  resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo1">
+    SELECT
+    id,
+    money
+    FROM se_client_card
+    WHERE cardAddr = #{cardAddr} and  cardNum = #{cardNum}
+  </select>
+
   <!--鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈡按鍗$紪鍙�-->
   <select id="getCardNumOfMax"  resultType="java.lang.String">
     SELECT cardNum
@@ -104,6 +114,9 @@
     <!--@mbg.generated-->
     insert into se_client_card
     <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
       <if test="protocol != null">
         protocol,
       </if>
@@ -160,6 +173,9 @@
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
       <if test="protocol != null">
         #{protocol,jdbcType=VARCHAR},
       </if>
@@ -280,8 +296,8 @@
   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
     <!--@mbg.generated-->
     update se_client_card
-    set protocol = #{protocol,jdbcType=VARCHAR}
-    cardAddr = #{cardaddr,jdbcType=VARCHAR},
+    set protocol = #{protocol,jdbcType=VARCHAR},
+      cardAddr = #{cardaddr,jdbcType=VARCHAR},
       cardNum = #{cardnum,jdbcType=BIGINT},
       clientId = #{clientid,jdbcType=BIGINT},
       money = #{money,jdbcType=FLOAT},
@@ -300,30 +316,52 @@
       remarks = #{remarks,jdbcType=VARCHAR}
     where id = #{id,jdbcType=BIGINT}
   </update>
-
-  <!--鏍规嵁鍐滄埛涓婚敭鑾峰彇姘村崱鍒楄〃-->
+  <update id="updateMoney" >
+    update se_client_card
+    set money = #{money,jdbcType=FLOAT}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <!--鏍规嵁鍐滄埛涓婚敭鑾峰彇姘村崱鍒楄〃锛堢墿鐞嗗崱+铏氭嫙鍗★級-->
   <select id="getCardInfoByClientId" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo">
     SELECT
-        cardNum,
-        '鐢ㄦ埛鍗�' AS cardType,
-        money,
-        (CASE
-            WHEN state = 1 THEN "姝e父"
-            WHEN state = 2 THEN "宸叉敞閿�"
-            ELSE "宸叉寕澶�"
-        END) AS state
-    FROM se_client_card
-    WHERE clientId = ${clientId}
+    *
+    FROM
+    (SELECT
+    '鐗╃悊鍗�' AS cardType,
+    clientCard.cardNum   AS CardNum,
+    clientCard.money   AS Money,
+    (CASE
+    WHEN clientCard.state = 1 THEN '姝e父'
+    WHEN clientCard.state = 2 THEN '宸叉敞閿�'
+    ELSE '宸叉寕澶�'
+    END) AS State
+    FROM se_client client
+    LEFT JOIN se_client_card clientCard ON clientCard.clientId = client.id
+    WHERE client.id = #{clientId,jdbcType=BIGINT}
+    UNION ALL
+    SELECT
+    '铏氭嫙鍗�' AS cardType,
+    virtualCard.vc_num   AS CardNum,
+    virtualCard.money   AS vcMoney,
+    (CASE
+    WHEN virtualCard.in_use = 0 THEN '鏈娇鐢�'
+    WHEN virtualCard.in_use = 1 THEN '浣跨敤涓�'
+    END) AS State
+    FROM se_client client
+    LEFT JOIN se_virtual_card virtualCard ON client.id = virtualCard.client_id
+    WHERE client.id = #{clientId,jdbcType=BIGINT}
+    ) card
+    ORDER BY card.Money DESC , card.State DESC
   </select>
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍒楄〃-->
   <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap">
-    SELECT * FROM v_operate WHERE cardNum = ${cardNum}
+    SELECT * FROM v_operate WHERE cardNum = #{cardNum,jdbcType=BIGINT}
   </select>
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇浣欓-->
   <select id="getMoneyByCardNum" resultType="java.lang.Float">
-    SELECT money FROM se_client_card WHERE cardNum = ${cardNum}
+    SELECT money FROM se_client_card WHERE cardNum = #{cardNum,jdbcType=BIGINT}
   </select>
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍏呭�兼�婚-->
@@ -332,7 +370,7 @@
       SUM(his.amount) AS amount
     FROM se_recharge_history his
         INNER JOIN se_client_card card ON his.cardId = card.id
-    WHERE card.cardNum = ${cardNum}
+    WHERE card.cardNum = #{cardNum,jdbcType=BIGINT}
   </select>
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵�侊細1-寮�鍗★紝2-琛ュ崱锛�3-鍏呭�硷紝4-鎸傚け锛�5-娉ㄩ攢锛�6-瑙i攣锛�7-鍐叉锛�8-娑堣垂-->
@@ -357,7 +395,7 @@
             WHEN state = 3 THEN '宸叉寕澶�'
         END) AS stateName
     FROM se_client_card
-    WHERE cardNum = ${cardNum}
+    WHERE cardNum = #{cardNum,jdbcType=BIGINT}
   </select>
 
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
@@ -569,4 +607,22 @@
 
     ORDER BY card.id
   </select>
+  <!--褰撳墠浣欓鎬婚噺锛堢墿鐞嗗崱锛�-->
+  <select id="getTotalMoneyIcCards" resultType="java.lang.Double">
+    SELECT
+      IFNULL(SUM(money),0) AS totalMoney
+    FROM
+      `se_client_card`
+    WHERE state = 1
+  </select>
+
+  <!--鏍规嵁姘村崱鍦板潃鑾峰彇姘村崱鏁伴噺-->
+  <select id="getCountByCardAddr" resultType="java.lang.Long">
+    SELECT COUNT(*) AS recordCount FROM se_client_card WHERE cardAddr = #{cardAddr}
+  </select>
+
+  <!--鏍规嵁姘村崱鍦板潃鑾峰彇鎸囧畾鐘舵�佺殑姘村崱鏁伴噺-->
+  <select id="getCountByCardAddrAndState" resultType="java.lang.Long">
+    SELECT COUNT(*) AS recordCount FROM se_client_card WHERE cardAddr = #{cardAddr} AND state IN(1,3)
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0