From 62a7f3228c94db41bf57858a6549eb0db033bf1e Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期三, 29 五月 2024 11:44:17 +0800
Subject: [PATCH] 2024-05-29 朱宝民
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 251 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 224 insertions(+), 27 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 0b3cbec..97e9c98 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -6,10 +6,11 @@
<!--@Table se_client_card-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="cardAddr" jdbcType="VARCHAR" property="cardaddr" />
- <result column="cardNum" jdbcType="VARCHAR" property="cardnum" />
- <result column="clientNum" jdbcType="VARCHAR" property="clientnum" />
+ <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" />
+ <result column="original_card_id" jdbcType="BIGINT" property="originalCardId"/>
<result column="createDt" jdbcType="TIMESTAMP" property="createdt" />
<result column="replaceDt" jdbcType="TIMESTAMP" property="replacedt" />
<result column="rechargeDt" jdbcType="TIMESTAMP" property="rechargedt" />
@@ -17,14 +18,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, cardNum, clientNum, money, `state`, createDt, replaceDt, rechargeDt,
- lossDtDt, cancelDt, unlockDt, reversalDt, consumeDt, lastOper, remarks
+ id, 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">
<!--@mbg.generated-->
@@ -51,11 +53,18 @@
<!--鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿-->
<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
+ 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
@@ -64,23 +73,22 @@
LIMIT 0,1
</select>
- <!--娣诲姞姘村崱璁板綍-->
- <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">
+ <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
<!--@mbg.generated-->
- insert into se_client_card (id, cardAddr, cardNum, clientNum,
- money, `state`, createDt,
- replaceDt, rechargeDt, lossDtDt,
- cancelDt, unlockDt, reversalDt,
+ insert into se_client_card (id, 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=VARCHAR}, #{clientnum,jdbcType=VARCHAR},
- #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP},
- #{replacedt,jdbcType=TIMESTAMP}, #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP},
+ values (#{id,jdbcType=BIGINT}, #{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},
- #{consumedt,jdbcType=TIMESTAMP}, #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}
+ #{refunddt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}
)
- </insert>
+ </insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into se_client_card
@@ -91,14 +99,17 @@
<if test="cardnum != null">
cardNum,
</if>
- <if test="clientnum != null">
- clientNum,
+ <if test="clientid != null">
+ clientId,
</if>
<if test="money != null">
money,
</if>
<if test="state != null">
`state`,
+ </if>
+ <if test="originalCardId != null">
+ original_card_id,
</if>
<if test="createdt != null">
createDt,
@@ -121,6 +132,9 @@
<if test="reversaldt != null">
reversalDt,
</if>
+ <if test="refunddt != null">
+ refundDt,
+ </if>
<if test="consumedt != null">
consumeDt,
</if>
@@ -136,16 +150,19 @@
#{cardaddr,jdbcType=VARCHAR},
</if>
<if test="cardnum != null">
- #{cardnum,jdbcType=VARCHAR},
+ #{cardnum,jdbcType=BIGINT},
</if>
- <if test="clientnum != null">
- #{clientnum,jdbcType=VARCHAR},
+ <if test="clientid != null">
+ #{clientid,jdbcType=BIGINT},
</if>
<if test="money != null">
#{money,jdbcType=FLOAT},
</if>
<if test="state != null">
#{state,jdbcType=TINYINT},
+ </if>
+ <if test="originalCardId != null">
+ #{originalCardId,jdbcType=BIGINT},
</if>
<if test="createdt != null">
#{createdt,jdbcType=TIMESTAMP},
@@ -168,6 +185,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>
@@ -187,16 +207,19 @@
cardAddr = #{cardaddr,jdbcType=VARCHAR},
</if>
<if test="cardnum != null">
- cardNum = #{cardnum,jdbcType=VARCHAR},
+ cardNum = #{cardnum,jdbcType=BIGINT},
</if>
- <if test="clientnum != null">
- clientNum = #{clientnum,jdbcType=VARCHAR},
+ <if test="clientid != null">
+ clientId = #{clientid,jdbcType=BIGINT},
</if>
<if test="money != null">
money = #{money,jdbcType=FLOAT},
</if>
<if test="state != null">
`state` = #{state,jdbcType=TINYINT},
+ </if>
+ <if test="originalCardId != null">
+ `original_card_id` = #{originalCardId,jdbcType=BIGINT},
</if>
<if test="createdt != null">
createDt = #{createdt,jdbcType=TIMESTAMP},
@@ -219,6 +242,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>
@@ -235,10 +261,11 @@
<!--@mbg.generated-->
update se_client_card
set cardAddr = #{cardaddr,jdbcType=VARCHAR},
- cardNum = #{cardnum,jdbcType=VARCHAR},
- clientNum = #{clientnum,jdbcType=VARCHAR},
+ cardNum = #{cardnum,jdbcType=BIGINT},
+ clientId = #{clientid,jdbcType=BIGINT},
money = #{money,jdbcType=FLOAT},
`state` = #{state,jdbcType=TINYINT},
+ original_card_id = #{originalCardId,jdbcType=BIGINT},
createDt = #{createdt,jdbcType=TIMESTAMP},
replaceDt = #{replacedt,jdbcType=TIMESTAMP},
rechargeDt = #{rechargedt,jdbcType=TIMESTAMP},
@@ -246,9 +273,179 @@
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
+ (CASE
+ WHEN state = 1 THEN '姝e父'
+ WHEN state = 2 THEN '宸叉敞閿�'
+ WHEN state = 3 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,
+ FORMAT(card.money, 2) AS 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
+ <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="getUnreplacedRecordCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM se_client_card card
+ INNER JOIN se_client cli ON card.clientId = cli.id
+ WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.cardNum)
+ </select>
+
+ <!--鑾峰彇宸叉寕澶辨湭琛ュ崱鐨勮褰�-->
+ <select id="getUnreplaced" 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,
+ FORMAT(card.money,2) AS money
+ FROM se_client_card card
+ INNER JOIN se_client cli ON card.clientId = cli.id
+ WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.cardNum)
+ ORDER BY card.id
+ <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="isLostAndUnreplaced" resultType="java.lang.Integer">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM se_client_card card
+ INNER JOIN se_client_card card2 ON card2.original_card_id = card.cardNum
+ <where>
+ AND card.state = 3
+ <if test = "cardNum != null and cardNum > 0">
+ AND card.cardNum = #{cardNum}
+ </if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0