From eef1bac64a0080f8f609312e31f63280b85e62d6 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 26 一月 2024 20:26:12 +0800
Subject: [PATCH] 2024-01-26 朱宝民 添加获取卡列表接口,应用程序使用

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml |  189 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 175 insertions(+), 14 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 7b03575..a58be27 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -6,6 +6,7 @@
     <!--@Table se_client_card-->
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="cardAddr" jdbcType="VARCHAR" property="cardaddr" />
+    <result column="cardNum" jdbcType="BIGINT" property="cardnum" />
     <result column="clientId" jdbcType="BIGINT" property="clientid" />
     <result column="money" jdbcType="FLOAT" property="money" />
     <result column="state" jdbcType="TINYINT" property="state" />
@@ -16,14 +17,15 @@
     <result column="cancelDt" jdbcType="TIMESTAMP" property="canceldt" />
     <result column="unlockDt" jdbcType="TIMESTAMP" property="unlockdt" />
     <result column="reversalDt" jdbcType="TIMESTAMP" property="reversaldt" />
+    <result column="refundDt" jdbcType="TIMESTAMP" property="refunddt" />
     <result column="consumeDt" jdbcType="TIMESTAMP" property="consumedt" />
     <result column="lastOper" jdbcType="TINYINT" property="lastoper" />
     <result column="remarks" jdbcType="VARCHAR" property="remarks" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, cardAddr, clientId, money, `state`, createDt, replaceDt, rechargeDt, lossDtDt, 
-    cancelDt, unlockDt, reversalDt, consumeDt, lastOper, remarks
+    id, cardAddr, cardNum, clientId, money, `state`, createDt, replaceDt, rechargeDt,
+    lossDtDt, cancelDt, unlockDt, reversalDt, refundDt, consumeDt, lastOper, remarks
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -38,23 +40,53 @@
     where id = #{id,jdbcType=BIGINT}
   </delete>
 
-  <!--渚濇嵁姘村崱鍦板潃鑾峰彇姘村崱缂栧彿锛堜富閿級-->
+  <!--渚濇嵁姘村崱鍦板潃鑾峰彇姘村崱缂栧彿锛�12鏈�19鏃ュ簾寮冿級-->
   <select id="getCardIdByAddr" resultType="java.lang.Long">
     SELECT id AS cardId FROM se_client_card WHERE cardAddr = #{cardAddr}
   </select>
 
-  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿紙12鏈�19鏃ユ坊鍔犲悗搴熷純锛�-->
+  <select id="getCardIdByNum" resultType="java.lang.Long">
+    SELECT id AS cardId FROM se_client_card WHERE cardNum = #{cardNum}
+  </select>
+
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿-->
+  <select id="getCardIdAndClientNum" resultType="java.util.Map">
+<!--    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}-->
+    SELECT
+        card.id AS cardId,
+        cli.clientNum,
+        cli.id AS clientId
+    FROM se_client_card card
+        INNER JOIN se_client cli ON card.clientId = cli.id
+    WHERE card.cardNum = #{cardNum}
+  </select>
+
+
+  <!--鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈡按鍗$紪鍙�-->
+  <select id="getCardNumOfMax"  resultType="java.lang.String">
+    SELECT cardNum
+    FROM se_client_card
+    WHERE cardNum LIKE CONCAT('%',#{areaCode},'%')
+    ORDER BY cardNum desc
+    LIMIT 0,1
+  </select>
+
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
     <!--@mbg.generated-->
-    insert into se_client_card (cardAddr, clientId, money, 
-      `state`, createDt, replaceDt, 
-      rechargeDt, lossDtDt, cancelDt, 
-      unlockDt, reversalDt, consumeDt, 
-      lastOper, remarks)
-    values (#{cardaddr,jdbcType=VARCHAR}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, 
-      #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP}, #{replacedt,jdbcType=TIMESTAMP}, 
-      #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP}, #{canceldt,jdbcType=TIMESTAMP}, 
-      #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, 
-      #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR})
+    insert into se_client_card (id, cardAddr, cardNum, clientId,
+      money, `state`, createDt, 
+      replaceDt, rechargeDt, lossDtDt, 
+      cancelDt, unlockDt, reversalDt, refundDt,
+      consumeDt, lastOper, remarks
+      )
+    values (#{id,jdbcType=BIGINT}, #{cardaddr,jdbcType=VARCHAR}, #{cardnum,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},
+      #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP}, 
+      #{replacedt,jdbcType=TIMESTAMP}, #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP}, 
+      #{canceldt,jdbcType=TIMESTAMP}, #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP},
+      #{refunddt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}
+      )
+
   </insert>
   <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">
     <!--@mbg.generated-->
@@ -62,6 +94,9 @@
     <trim prefix="(" suffix=")" suffixOverrides=",">
       <if test="cardaddr != null">
         cardAddr,
+      </if>
+      <if test="cardnum != null">
+        cardNum,
       </if>
       <if test="clientid != null">
         clientId,
@@ -93,6 +128,9 @@
       <if test="reversaldt != null">
         reversalDt,
       </if>
+      <if test="refunddt != null">
+        refundDt,
+      </if>
       <if test="consumedt != null">
         consumeDt,
       </if>
@@ -106,6 +144,9 @@
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="cardaddr != null">
         #{cardaddr,jdbcType=VARCHAR},
+      </if>
+      <if test="cardnum != null">
+        #{cardnum,jdbcType=BIGINT},
       </if>
       <if test="clientid != null">
         #{clientid,jdbcType=BIGINT},
@@ -137,6 +178,9 @@
       <if test="reversaldt != null">
         #{reversaldt,jdbcType=TIMESTAMP},
       </if>
+      <if test="refunddt != null">
+        #{refunddt,jdbcType=TIMESTAMP},
+      </if>
       <if test="consumedt != null">
         #{consumedt,jdbcType=TIMESTAMP},
       </if>
@@ -154,6 +198,9 @@
     <set>
       <if test="cardaddr != null">
         cardAddr = #{cardaddr,jdbcType=VARCHAR},
+      </if>
+      <if test="cardnum != null">
+        cardNum = #{cardnum,jdbcType=BIGINT},
       </if>
       <if test="clientid != null">
         clientId = #{clientid,jdbcType=BIGINT},
@@ -185,6 +232,9 @@
       <if test="reversaldt != null">
         reversalDt = #{reversaldt,jdbcType=TIMESTAMP},
       </if>
+      <if test="refunddt != null">
+        refundDt = #{refunddt,jdbcType=TIMESTAMP},
+      </if>
       <if test="consumedt != null">
         consumeDt = #{consumedt,jdbcType=TIMESTAMP},
       </if>
@@ -201,6 +251,7 @@
     <!--@mbg.generated-->
     update se_client_card
     set cardAddr = #{cardaddr,jdbcType=VARCHAR},
+      cardNum = #{cardnum,jdbcType=BIGINT},
       clientId = #{clientid,jdbcType=BIGINT},
       money = #{money,jdbcType=FLOAT},
       `state` = #{state,jdbcType=TINYINT},
@@ -211,9 +262,119 @@
       cancelDt = #{canceldt,jdbcType=TIMESTAMP},
       unlockDt = #{unlockdt,jdbcType=TIMESTAMP},
       reversalDt = #{reversaldt,jdbcType=TIMESTAMP},
+      refundDt = #{refunddt,jdbcType=TIMESTAMP},
       consumeDt = #{consumedt,jdbcType=TIMESTAMP},
       lastOper = #{lastoper,jdbcType=TINYINT},
       remarks = #{remarks,jdbcType=VARCHAR}
     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}
+  </select>
+
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍒楄〃-->
+  <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap">
+    SELECT * FROM v_operate WHERE cardNum = ${cardNum}
+  </select>
+
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇浣欓-->
+  <select id="getMoneyByCardNum" resultType="java.lang.Float">
+    SELECT money FROM se_client_card WHERE cardNum = ${cardNum}
+  </select>
+
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍏呭�兼�婚-->
+  <select id="sumRechargeByCardNum" resultType="java.lang.Float">
+    SELECT
+      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}
+  </select>
+
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵�侊細1-寮�鍗★紝2-琛ュ崱锛�3-鍏呭�硷紝4-鎸傚け锛�5-娉ㄩ攢锛�6-瑙i攣锛�7-鍐叉锛�8-娑堣垂-->
+  <select id="getCardStateByCardNum" resultType="java.lang.String">
+    SELECT
+      (CASE
+         WHEN lastOper = 1 THEN "寮�鍗�"
+         WHEN lastOper = 2 THEN "琛ュ崱"
+         WHEN lastOper = 3 THEN "鍏呭��"
+         WHEN lastOper = 4 THEN "鎸傚け"
+         WHEN lastOper = 5 THEN "娉ㄩ攢"
+         WHEN lastOper = 6 THEN "瑙i攣"
+         WHEN lastOper = 7 THEN "鍐叉"
+         WHEN lastOper = 8 THEN "娑堣垂"
+        END) AS stateName
+    FROM se_client_card
+    WHERE cardNum = ${cardNum}
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
+  <select id="getCardsCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM se_client_card card
+        INNER JOIN se_client cli ON card.clientId = cli.id
+    <where>
+      <if test = "clientNum != null and clientNum !=''">
+        AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+      </if>
+
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�-->
+  <select id="getCards" resultType="com.dy.pipIrrGlobal.voSe.VoCards">
+    SELECT
+        cli.clientNum,
+        cli.name AS clientName,
+        card.cardNum,
+        cli.phone,
+        cli.idCard,
+        card.state AS cardState,
+        (CASE
+            WHEN card.state = 1 THEN '姝e父'
+            WHEN card.state = 2 THEN '宸叉敞閿�'
+            WHEN card.state = 3 THEN '宸叉寕澶�'
+        End) AS stateName,
+        '鍐滄埛鍗�' AS cardType,
+        card.money
+    FROM se_client_card card
+        INNER JOIN se_client cli ON card.clientId = cli.id
+    <where>
+      <if test = "clientNum != null and clientNum !=''">
+        AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+      </if>
+
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+    </where>
+    ORDER BY card.id
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${pageCurr}, ${pageSize}
+    </if>
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0