From 0f777d6277d70d3446fede2846338815074b3763 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 09 四月 2024 16:37:21 +0800
Subject: [PATCH] 2024-04-09 朱宝民 优化了挂失、解锁、补卡、开卡、充值接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java                 |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReversal.java   |    6 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java                      |    7 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/DtoCancel.java              |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java   |   85 ++++++++--------
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java              |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRefund.java     |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java       |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java             |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java             |    2 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml                                |   33 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoCancel.java     |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java          |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoUnlock.java     |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java       |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRecharge.java   |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java     |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java     |   27 ++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java |    8 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java    |   28 +----
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java                 |    9 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java      |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java          |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/DtoLoss.java                  |    6 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java         |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java         |    2 
 26 files changed, 166 insertions(+), 115 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
index b75f7ce..a317354 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -57,7 +57,7 @@
      * @param cardNum
      * @return
      */
-    Map getCardIdAndClientNum(@Param("cardNum") String cardNum);
+    Map getCardIdAndClientNum(@Param("cardNum") Long cardNum);
 
     /**
      * 鏍规嵁鍐滄埛涓婚敭鑾峰彇姘村崱鍒楄〃
@@ -119,4 +119,11 @@
      * @return
      */
     List<VoCards> getUnreplaced(Map<?, ?> params);
+
+    /**
+     * 鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�
+     * @param cardNum 姘村崱缂栧彿
+     * @return 绗﹀悎鏉′欢璁板綍鏁帮紝鏈�澶氫竴鏉�
+     */
+    Integer isLostAndUnreplaced(@Param("cardNum") Long cardNum);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java
index d31326a..bc9dad6 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java
@@ -80,6 +80,13 @@
     private Byte state;
 
     /**
+     * 鍘熸寕澶卞崱ID
+     */
+    @Schema(description = "鍗$墖鐘舵��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @Positive(message = "鍘熸寕澶卞崱ID蹇呴』涓烘鏁�")
+    private Long originalCardId;
+
+    /**
      * 寮�鍗℃椂闂�
      */
     @Schema(description = "寮�鍗℃椂闂�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
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 f2d8c83..ad2c253 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -10,6 +10,7 @@
     <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" />
@@ -24,7 +25,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, cardAddr, cardNum, clientId, money, `state`, createDt, replaceDt, rechargeDt,
+    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">
@@ -75,13 +76,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,
-      money, `state`, createDt, 
+      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},
-      #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP}, 
+      #{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},
       #{refunddt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}
@@ -106,6 +107,9 @@
       </if>
       <if test="state != null">
         `state`,
+      </if>
+      <if test="originalCardId != null">
+        original_card_id,
       </if>
       <if test="createdt != null">
         createDt,
@@ -156,6 +160,9 @@
       </if>
       <if test="state != null">
         #{state,jdbcType=TINYINT},
+      </if>
+      <if test="originalCardId != null">
+        #{originalCardId,jdbcType=BIGINT},
       </if>
       <if test="createdt != null">
         #{createdt,jdbcType=TIMESTAMP},
@@ -211,6 +218,9 @@
       <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},
       </if>
@@ -255,6 +265,7 @@
       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},
@@ -415,7 +426,7 @@
         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 card.clientId = card2.clientId AND card2.state = 1)
+    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">
@@ -423,4 +434,18 @@
       </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
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java
index e31783a..66a999b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java
@@ -209,7 +209,7 @@
         /**
          * 濡傛灉鎿嶄綔浜哄憳寮�鍗℃椂杈撳叆浜嗗厖鍊奸噾棰濓紝鍒欏紑鍗″悗璋冪敤鍏呭�煎姛鑳�
          */
-        po.setCardNum(cardNum);
+        po.setCardNum(Long.parseLong(cardNum));
         if(amount != null && amount > 0) {
             po.setClientId(clientId);
             DtoRecharge dtoRecharge = RechargeDtoMapper.INSTANCT.po2vo(po);
@@ -259,7 +259,7 @@
          * activeTime       琛ュ崱鏃堕棿
          */
         Long cardId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         //String clientNum = "";
         Long clientId = 0L;
         Integer cardCost = po.getCardCost();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java
index ab3451b..e6cbdae 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/DtoActiveCard.java
@@ -44,7 +44,7 @@
      * 琛ュ崱鏃朵娇鐢�
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    private String cardNum;
+    private Long cardNum;
 
     /**
      * 鍗$墖璐圭敤
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java
index ce46b37..d686fbb 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java
@@ -95,7 +95,7 @@
          * cancelTime       鎸傚け鏃堕棿
          */
         Long cardId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Long clientId = 0L;
         Float refund = po.getRefund();
         Byte refundType = po.getRefundType();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/DtoCancel.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/DtoCancel.java
index dc59bf5..60016a9 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/DtoCancel.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/DtoCancel.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index 5978104..db6943f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -101,7 +101,7 @@
          * cardAddr         姘村崱鍦板潃锛堜粎浠呭啓鍏ワ紝鏃犱笟鍔★級
          * clientNum        鍐滄埛缂栧彿
          * cardCost         鍗$墖璐圭敤
-         * amount           鍏呭�奸噾棰�
+         * amount           鍏呭�奸噾棰濓紝鍏呭�兼帴鍙d负杈撳叆鍙傛暟锛岃ˉ鍗℃帴鍙d负鍘熷崱閫�杩橀噾棰�
          * reissueAmount    琛ュ崱閲戦锛岃ˉ鍗℃椂浣跨敤
          * paymentId        鏀粯鏂瑰紡缂栧彿
          * remarks          澶囨敞
@@ -111,6 +111,7 @@
         String cardAddr = po.getCardAddr();
         String clientNum = po.getClientNum();
         Integer cardCost = po.getCardCost();
+        Long originalCardId = po.getOriginalCardId();
         Float amount = po.getAmount();
         Long paymentId = po.getPaymentId();
         String remarks = po.getRemarks();
@@ -123,28 +124,29 @@
         Long clientId = cardOperateSv.getClientIdByNum(clientNum);
 
         /**
-         * 娣诲姞鍐滄埛鍗¤褰�
+         * 娣诲姞鍐滄埛鍗¤褰曪紝閫�杩橀噾棰濅綔涓哄綋鍓嶄綑棰�
          */
         SeClientCard seClientCard = new SeClientCard();
         seClientCard.setCardaddr(cardAddr);
         seClientCard.setCardnum(cardNum);
         seClientCard.setClientid(clientId);
-        seClientCard.setMoney(0f);
+        seClientCard.setMoney(amount);
         seClientCard.setState(CardStateENUM.NORMAL.getCode());
+        seClientCard.setOriginalCardId(originalCardId);
         seClientCard.setCreatedt(activeTime);
         seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
-
         Long cardId = Optional.ofNullable(clientCardSv.add(seClientCard)).orElse(0L) ;
         if(cardId == 0) {
             return BaseResponseUtils.buildFail(SellResultCode.ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
-         * 娣诲姞寮�鍗¤褰�
+         * 娣诲姞寮�鍗¤褰曪紝閫�杩橀噾棰濅綔涓哄厖鍊奸噾棰�
          */
         SeCardOperate seCardOperate = new SeCardOperate();
         seCardOperate.setCardId(cardId);
         seCardOperate.setClientId(clientId);
+        seCardOperate.setMoney(amount);
         seCardOperate.setCardCost(cardCost);
         seCardOperate.setPaymentId(paymentId);
         seCardOperate.setOperateType(OperateTypeENUM.ACTIVE.getCode());
@@ -158,9 +160,10 @@
 
         /**
          * 濡傛灉鎿嶄綔浜哄憳寮�鍗℃椂杈撳叆浜嗗厖鍊奸噾棰濓紝鍒欏紑鍗″悗璋冪敤鍏呭�煎姛鑳�
+         * 琛ュ崱闄ゅ锛岃ˉ鍗$殑閫�杩橀噾棰濇槸浠庢寕澶卞崱涓浆绉昏繃鏉ョ殑锛屾病鏈夊疄闄呴噾閽变氦鏄�
          */
-        po.setCardNum(cardNum);
-        if(amount != null && amount > 0) {
+        po.setCardNum(Long.parseLong(cardNum));
+        if(amount != null && amount > 0 && originalCardId == null) {
             po.setClientId(clientId);
             DtoRecharge dtoRecharge = RechargeDtoMapper.INSTANCT.po2vo(po);
             dtoRecharge.setMoney(0f);
@@ -205,6 +208,7 @@
          * cardAddr         鏂扮殑姘村崱鍦板潃锛堜粎浠呭啓鍏ワ紝鏃犱笟鍔★級
          * clientNum        鍐滄埛缂栧彿锛屽紑鏂板崱浣跨敤锛岄�氳繃鑰佸崱鍙疯幏鍙�
          * cardNum          姘村崱缂栧彿锛屼紶鍏ョ殑鏄�佸崱鍙凤紝杩斿洖鐨勬槸鏂板崱鍙�
+         * cardId           鍘熸按鍗★紙鎸傚け姘村崱锛塈D锛岃浆绉讳綑棰濆悗闇�瑕佹洿鏂板崱浣欓涓�0
          * moeny            浣欓锛屾寕澶辨椂浣跨敤
          * cardCost         鍗$墖璐圭敤
          * paymentId        鏀粯鏂瑰紡缂栧彿
@@ -214,17 +218,17 @@
 
         String cardAddr = po.getCardAddr();
         String clientNum = "";
-        String cardNum = po.getCardNum();
-        Float money = po.getMoney();
+        Long cardNum = po.getCardNum();
+        Long cardId = 0L;
         Integer cardCost = po.getCardCost();
+        Float reissueAmount = po.getReissueAmount();
         Long paymentId = po.getPaymentId();
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
 
-        // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
-        if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+        // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互琛ュ崱
+        if(!cardOperateSv.isLostAndUnreplaced(cardNum)) {
+            return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -235,30 +239,25 @@
             return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         clientNum = map.get("clientNum").toString();
+        cardId = Long.parseLong(map.get("cardId").toString());
 
         /**
-         * 娣诲姞鎸傚け璁板綍
+         * 濡傛灉鏄ˉ鍗¤皟鐢ㄧ殑寮�鍗′笖杞Щ浜嗛��杩橀噾棰濓紝闇�淇敼鎸傚け鍗′綑棰濅负0
          */
-        DtoLoss dtoLoss = new DtoLoss();
-        dtoLoss.setCardNum(cardNum);
-        dtoLoss.setMoney(money);
-        dtoLoss.setRefund(0f);
-        dtoLoss.setRemarks(remarks);
-        dtoLoss.setOperator(operator);
-        BaseResponse<java.lang.Boolean> baseResponse_addLoss = this.add_loss(dtoLoss, null);
-
-        if(!baseResponse_addLoss.getCode().equals("0001")) {
-            return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
-        }
+        SeClientCard seClientCard = new SeClientCard();
+        seClientCard.setId(cardId);
+        seClientCard.setMoney(0f);
+        cardOperateSv.updateClientCard(seClientCard);
 
         /**
-         * 娣诲姞寮�鍗¤褰�
+         * 娣诲姞寮�鍗¤褰曪紝閫�杩橀噾棰濆啿鍒版柊鍗′腑
          */
         DtoActiveCard dtoActiveCard = new DtoActiveCard();
         dtoActiveCard.setCardAddr(cardAddr);
         dtoActiveCard.setClientNum(clientNum);
+        dtoActiveCard.setOriginalCardId(cardNum);
         dtoActiveCard.setCardCost(cardCost);
-        dtoActiveCard.setAmount(0f);
+        dtoActiveCard.setAmount(reissueAmount);
         dtoActiveCard.setPaymentId(paymentId);
         dtoActiveCard.setRemarks(remarks);
         dtoActiveCard.setOperator(operator);
@@ -269,7 +268,7 @@
         }
 
         String theContent = String.valueOf(baseResponse_addActive.getContent());
-        cardNum = theContent.substring(theContent.indexOf("=") + 1, theContent.indexOf(","));
+        cardNum = Long.parseLong(theContent.substring(theContent.indexOf("=") + 1, theContent.indexOf(",")));
 
         Map map_response = new HashMap();
         map_response.put("projectCode", Constant.projectCode_ym);
@@ -338,7 +337,7 @@
          */
         Long cardId = 0L;
         Long clientId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Float refund = po.getRefund();
         Byte refundType = po.getRefundType();
         String remarks = po.getRemarks();
@@ -346,7 +345,7 @@
         Date cancelTime = new Date();
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
+        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
             return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
@@ -434,7 +433,7 @@
          */
         Long cardId = 0L;
         Long clientId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Float money = po.getMoney();
         Float refund = po.getRefund();
         String remarks = po.getRemarks();
@@ -442,7 +441,7 @@
         Date lossTime = new Date();
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
+        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
             return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
@@ -529,7 +528,7 @@
          */
         Long cardId = 0L;
         Long clientId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Float cardBalance = po.getCardBalance();
         Float systemBalance = po.getSystemBalance();
         String remarks = po.getRemarks();
@@ -537,7 +536,7 @@
         Date reversalTime = new Date();
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
+        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
             return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
@@ -622,7 +621,7 @@
          */
         Long cardId = 0L;
         Long clientId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Float money = po.getMoney();
         Float refund = po.getRefund();
         String remarks = po.getRemarks();
@@ -630,7 +629,7 @@
         Date refundTime = new Date();
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
+        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
             return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
@@ -706,9 +705,9 @@
         }
 
         /**
-         * cardId           姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardAddr鍙嶆煡锛屼慨鏀瑰啘鎴峰崱浣跨敤锛�
+         * cardId           姘村崱涓婚敭锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛屼慨鏀瑰啘鎴峰崱浣跨敤锛�
          * clientId         鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛�
-         * cardNum          姘村崱鍦板潃
+         * cardNum          姘村崱缂栧彿
          * money            浣欓
          * remarks          澶囨敞
          * operator         鎿嶄綔浜虹紪鍙�
@@ -716,16 +715,15 @@
          */
         Long cardId = 0L;
         Long clientId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Float money = po.getMoney();
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
         Date unlockTime = new Date();
 
-        // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
-        if(stateName.length() == 0 || !stateName.equals("宸叉寕澶�")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+        // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互瑙i攣
+        if(!cardOperateSv.isLostAndUnreplaced(cardNum)) {
+            return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -827,7 +825,6 @@
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
-
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
index 49ddfe9..97ddce7 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -131,7 +131,7 @@
          */
         Long cardId = 0L;
         Long clientId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Float money = po.getMoney();
         Float amount = po.getAmount();
         Float gift = po.getGift();
@@ -144,7 +144,7 @@
 
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
-        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(Long.parseLong(cardNum))).orElse("");
+        String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
             return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
@@ -198,7 +198,6 @@
 
         return BaseResponseUtils.buildSuccess(true) ;
     }
-
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰�
@@ -416,4 +415,26 @@
 
         return map_result;
     }
+
+    /**
+     * 鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�
+     * @param cardNum 姘村崱缂栧彿
+     * @return 鏄惁宸叉寕澶辨湭琛ュ崱
+     */
+    public Boolean isLostAndUnreplaced(Long cardNum) {
+        Integer rec = seClientCardMapper.isLostAndUnreplaced(cardNum);
+        if(rec != null && rec > 0) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * 淇敼鍐滄埛姘村崱
+     * @param po
+     * @return
+     */
+    public Integer updateClientCard(SeClientCard po) {
+        return seClientCardMapper.updateByPrimaryKeySelective(po);
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
index 2be38ca..63477f2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
@@ -44,7 +44,13 @@
      * 姘村崱缂栧彿锛屼笉鏄紑鍗℃帴鍙d紶鍏ワ紝鐢卞啘鎴风紪鍙疯幏寰楋紝鍏呭�奸渶瑕�
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    private String cardNum;
+    private Long cardNum;
+
+    /**
+     * 鍘熸寕澶卞崱ID
+     */
+    @Schema(description = "鍘熸寕澶卞崱ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Long originalCardId;
 
     /**
      * 鍗$墖璐圭敤
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoCancel.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoCancel.java
index 250b1e1..54909b0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoCancel.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoCancel.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java
index 60008b7..ac389b7 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 浣欓
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRecharge.java
index d1e4f28..84da9eb 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRecharge.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRecharge.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛ID锛屼笉鏄厖鍊兼帴鍙d紶鍏ワ紝鐢卞紑鍗″璞′紶鍏ワ紝淇濆瓨鍏呭�艰褰曢渶瑕�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRefund.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRefund.java
index be52da2..784c95b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRefund.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoRefund.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍗$墖浣欓
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java
index eb52aa5..935a761 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java
@@ -28,30 +28,18 @@
     @NotBlank(message = "姘村崱鍦板潃涓嶈兘涓虹┖")
     private String cardAddr;
 
-    ///**
-    // * 鍐滄埛缂栧彿锛屽紑鍗′娇鐢�
-    // */
-    //@Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    //private String clientNum;
-
-    /**
-     * 鍐滄埛ID锛堜富閿級锛屼笉鏄紑鍗℃帴鍙d紶鍏ワ紝鐢卞啘鎴风紪鍙疯幏寰楋紝淇濆瓨寮�鍗¤褰曞拰鍏呭�艰褰曢兘闇�瑕�
-     */
-    //@Schema(description = "鍐滄埛ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    //private Long clientId;
-
     /**
      * 姘村崱缂栧彿锛屼笉鏄紑鍗℃帴鍙d紶鍏ワ紝鐢卞啘鎴风紪鍙疯幏寰楋紝鍏呭�奸渶瑕�
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    private String cardNum;
+    private Long cardNum;
 
     /**
      * 閲戦
      */
-    @Schema(description = "閲戦", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Min(value = 0, message="閲戦涓嶈兘灏忎簬0")
-    private Float money;
+    //@Schema(description = "閲戦", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    //@Min(value = 0, message="閲戦涓嶈兘灏忎簬0")
+    //private Float money;
 
     /**
      * 鍗$墖璐圭敤
@@ -61,11 +49,11 @@
     private Integer cardCost;
 
     /**
-     * 琛ュ崱閲戦锛屽紑鍗℃椂鍏呭�肩敤
+     * 閫�杩橀噾棰濓紝琛ュ紑鍗℃椂鍏呭�肩敤
      */
-    //@Schema(description = "琛ュ崱閲戦", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    //@Min(value = 0, message="琛ュ崱閲戦涓嶈兘灏忎簬0")
-    //private Float reissueAmount;
+    @Schema(description = "閫�杩橀噾棰�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @Min(value = 0, message="閫�杩橀噾棰濅笉鑳藉皬浜�0")
+    private Float reissueAmount;
 
     /**
      * 鏀粯鏂瑰紡缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReversal.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReversal.java
index 1fde2fc..18ca73c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReversal.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReversal.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoUnlock.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoUnlock.java
index 8c849c0..5965273 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoUnlock.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoUnlock.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
index 6f7e24c..1951ae5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
@@ -59,7 +59,7 @@
      * @param cardNum
      * @return
      */
-    public Map getCardIdAndClientNum(String cardNum) {
+    public Map getCardIdAndClientNum(Long cardNum) {
         return seClientCardMapper.getCardIdAndClientNum(cardNum);
     }
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/DtoLoss.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/DtoLoss.java
index 6bd7d35..7f3fcdc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/DtoLoss.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/DtoLoss.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java
index 2c4df3c..051ddab 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java
@@ -93,7 +93,7 @@
          * lossTime         鎸傚け鏃堕棿
          */
         Long cardId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Long clientId = 0L;
         Float money = po.getMoney();
         Float refund = po.getRefund();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java
index b67c64b..36550d4 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/DtoRecharge.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,9 +26,9 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
     //private String cardAddr;
-    private String cardNum;
+    private Long cardNum;
     //private Long cardId;
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
index 449dc2d..2c1d508 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
@@ -99,7 +99,7 @@
          * rechargeTime     鍏呭�兼椂闂�
          */
         Long cardId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         String clientNum = "";
         //Long clientId = po.getClientId();
         Long clientId = 0L;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java
index a212300..9274053 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/DtoReversal.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java
index e27c0f5..ebf1b55 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java
@@ -92,7 +92,7 @@
          * reversalTime     鍐叉
          */
         Long cardId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Long clientId = 0L;
         Float cardBalance = po.getCardBalance();
         Float systemBalance = po.getSystemBalance();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java
index 043da7b..e8a2d97 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/DtoUnlock.java
@@ -2,7 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Positive;
 import lombok.*;
 
@@ -26,8 +26,8 @@
      * 姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @NotBlank(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
-    private String cardNum;
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+    private Long cardNum;
 
     /**
      * 鍐滄埛缂栧彿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java
index 51956dd..f035d06 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java
@@ -93,7 +93,7 @@
          * unlockTime       瑙i攣鏃堕棿
          */
         Long cardId = 0L;
-        String cardNum = po.getCardNum();
+        Long cardNum = po.getCardNum();
         Long clientId = 0L;
         Float money = po.getMoney();
         String remarks = po.getRemarks();

--
Gitblit v1.8.0