From e10c9e150cef3096b295e6d9a3160862f4f0128d Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 26 八月 2024 15:26:45 +0800
Subject: [PATCH] 修改农户分页查询接口和查一个农户的所有卡接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml |  117 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 92 insertions(+), 25 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 6168066..bd1b81a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -5,6 +5,7 @@
     <!--@mbg.generated-->
     <!--@Table se_client_card-->
     <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="protocol" jdbcType="VARCHAR" property="protocol" />
     <result column="cardAddr" jdbcType="VARCHAR" property="cardaddr" />
     <result column="cardNum" jdbcType="BIGINT" property="cardnum" />
     <result column="clientId" jdbcType="BIGINT" property="clientid" />
@@ -25,7 +26,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, cardAddr, cardNum, clientId, money, `state`, original_card_id, createDt, replaceDt, rechargeDt,
+    id, protocol, cardAddr, cardNum, clientId, money, `state`, original_card_id, createDt, replaceDt, rechargeDt,
     lossDtDt, cancelDt, unlockDt, reversalDt, refundDt, consumeDt, lastOper, remarks
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -53,16 +54,36 @@
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿-->
   <select id="getCardIdAndClientNum" resultType="java.util.Map">
-<!--    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}-->
+    <!--    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}-->
     SELECT
-        card.id AS cardId,
-        cli.clientNum,
-        cli.id AS clientId
+      card.id AS cardId,
+      cli.clientNum,
+      cli.id AS clientId,
+      protocol
     FROM se_client_card card
-        INNER JOIN se_client cli ON card.clientId = cli.id
+    INNER JOIN se_client cli ON card.clientId = cli.id
     WHERE card.cardNum = #{cardNum}
   </select>
 
+  <!-- 鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱瀵瑰簲鐨勫啘鎴穒d鍜屽鍚� -->
+  <select id="getClientIdAndNameByCardAddrAndCardNo" resultType="java.util.Map">
+    SELECT
+    cli.id AS clientId,
+    cli.name AS clientName
+    FROM se_client_card card
+    INNER JOIN se_client cli ON card.clientId = cli.id
+    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">
@@ -75,13 +96,13 @@
 
   <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
     <!--@mbg.generated-->
-    insert into se_client_card (id, cardAddr, cardNum, clientId,
+    insert into se_client_card (id, protocol, cardAddr, cardNum, clientId,
       money, `state`, original_card_id, createDt,
       replaceDt, rechargeDt, lossDtDt, 
       cancelDt, unlockDt, reversalDt, refundDt,
       consumeDt, lastOper, remarks
       )
-    values (#{id,jdbcType=BIGINT}, #{cardaddr,jdbcType=VARCHAR}, #{cardnum,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},
+    values (#{id,jdbcType=BIGINT}, #{protocol,jdbcType=VARCHAR}, #{cardaddr,jdbcType=VARCHAR}, #{cardnum,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},
       #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{originalCardId,jdbcType=BIGINT}, #{createdt,jdbcType=TIMESTAMP},
       #{replacedt,jdbcType=TIMESTAMP}, #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP}, 
       #{canceldt,jdbcType=TIMESTAMP}, #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP},
@@ -93,6 +114,12 @@
     <!--@mbg.generated-->
     insert into se_client_card
     <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="protocol != null">
+        protocol,
+      </if>
       <if test="cardaddr != null">
         cardAddr,
       </if>
@@ -146,6 +173,12 @@
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="protocol != null">
+        #{protocol,jdbcType=VARCHAR},
+      </if>
       <if test="cardaddr != null">
         #{cardaddr,jdbcType=VARCHAR},
       </if>
@@ -203,6 +236,9 @@
     <!--@mbg.generated-->
     update se_client_card
     <set>
+      <if test="protocol != null">
+        protocol = #{protocol,jdbcType=VARCHAR},
+      </if>
       <if test="cardaddr != null">
         cardAddr = #{cardaddr,jdbcType=VARCHAR},
       </if>
@@ -260,7 +296,8 @@
   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
     <!--@mbg.generated-->
     update se_client_card
-    set 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},
@@ -279,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>
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍏呭�兼�婚-->
@@ -311,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-娑堣垂-->
@@ -336,7 +395,7 @@
             WHEN state = 3 THEN '宸叉寕澶�'
         END) AS stateName
     FROM se_client_card
-    WHERE cardNum = ${cardNum}
+    WHERE cardNum = #{cardNum,jdbcType=BIGINT}
   </select>
 
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
@@ -548,4 +607,12 @@
 
     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>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0