From d4da9210f2bf5fd1ed533cb9a94af6b114349ce4 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期一, 08 七月 2024 20:24:42 +0800
Subject: [PATCH] 2024-07-08 朱宝民 优化营销接口,支持10位水卡编号
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 136 +++++++++++++++++++++++++++++++++++++++------
1 files changed, 118 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 97e9c98..6168066 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -68,7 +68,7 @@
<select id="getCardNumOfMax" resultType="java.lang.String">
SELECT cardNum
FROM se_client_card
- WHERE cardNum LIKE CONCAT('%',#{areaCode},'%')
+ WHERE cardNum LIKE CONCAT(#{areaCode},'%')
ORDER BY cardNum desc
LIMIT 0,1
</select>
@@ -344,8 +344,9 @@
SELECT
COUNT(*) AS recordCount
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>
+ AND card.state = 1
<if test = "clientNum != null and clientNum !=''">
AND cli.clientNum like CONCAT('%',#{clientNum},'%')
</if>
@@ -365,20 +366,26 @@
SELECT
cli.clientNum,
cli.name AS clientName,
- card.cardNum,
+ cardNum,
+<!-- CASE-->
+<!-- WHEN card.cardNum LIKE '10%' THEN CONCAT(SUBSTRING(card.cardNum, 7, 6),SUBSTRING(card.cardNum, 14, 4))-->
+<!-- ELSE card.cardNum-->
+<!-- END AS 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,
+<!-- (CASE-->
+<!-- WHEN card.state = 1 THEN '姝e父'-->
+<!-- WHEN card.state = 2 THEN '宸叉敞閿�'-->
+<!-- WHEN card.state = 3 THEN '宸叉寕澶�'-->
+<!-- End) AS stateName,-->
+ '姝e父' 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>
+ AND card.state = 1
<if test = "clientNum != null and clientNum !=''">
AND cli.clientNum like CONCAT('%',#{clientNum},'%')
</if>
@@ -413,20 +420,20 @@
SELECT
cli.clientNum,
cli.name AS clientName,
- card.cardNum,
+ cardNum,
+<!-- CASE-->
+<!-- WHEN card.cardNum LIKE '10%' THEN CONCAT(SUBSTRING(card.cardNum, 7, 6),SUBSTRING(card.cardNum, 14, 4))-->
+<!-- ELSE card.cardNum-->
+<!-- END AS 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 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)
+ WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.id)
ORDER BY card.id
<trim prefix="limit " >
<if test="start != null and count != null">
@@ -435,12 +442,11 @@
</trim>
</select>
- <!--鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�-->
- <select id="isLostAndUnreplaced" resultType="java.lang.Integer">
+ <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇鎸傚け浜嬭褰曟暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級-->
+ <select id="getLostCount" 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">
@@ -448,4 +454,98 @@
</if>
</where>
</select>
+
+ <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇宸茶ˉ鍗℃暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級-->
+ <select id="getReplacedCount" 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.id
+ <where>
+ <if test = "cardNum != null and cardNum > 0">
+ AND card.cardNum = #{cardNum}
+ </if>
+ </where>
+ </select>
+ <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
+ <select id="getCardsByClientNameAndPhoneCount" 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 = 1
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "phone != null and phone !=''">
+ AND cli.phone like CONCAT('%',#{phone},'%')
+ </if>
+ </where>
+ </select>
+ <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�-->
+ <select id="getCardsByClientNameAndPhone" resultType="com.dy.pipIrrGlobal.voSe.VoCards2">
+ SELECT
+ card.id AS clientCardId,
+ cli.id AS clientId,
+ 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 = 1
+ <if test = "clientName != null and clientName !=''">
+ AND cli.name like CONCAT('%',#{clientName},'%')
+ </if>
+
+ <if test = "phone != null and phone !=''">
+ AND cli.phone like CONCAT('%',#{phone},'%')
+ </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>
+ <!--鏍规嵁鍐滄埛ID鏌ヨ姝e父鐘舵�佺殑姘村崱鍒楄〃,灏忕▼搴忎娇鐢�-->
+ <select id="getCardsByClientID" resultType="com.dy.pipIrrGlobal.voWe.VoCards3">
+ SELECT
+ card.id AS clientCardId,
+ cli.id AS clientId,
+ 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 = 1
+ AND cli.id like CONCAT('%',#{clientId},'%')
+
+
+ ORDER BY card.id
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0