From 8297013f990a5440fa8bebb8c0eb9fb0f6af4862 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期三, 25 六月 2025 09:30:26 +0800
Subject: [PATCH] feat(card): 添加管理卡状态枚举并更新相关逻辑

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagementCard.java                               |   68 ++++++++++++++++++++--------------
 pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java                        |   10 ++++-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml                                             |    3 +
 pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/enums/ManagementCardStateENUM.java |   22 +++++++++++
 4 files changed, 72 insertions(+), 31 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagementCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagementCard.java
index 9daf090..bdfee9a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagementCard.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagementCard.java
@@ -20,7 +20,7 @@
  * @Description 鍏呭�兼満鐢ㄧ鐞嗗崱
  */
 
-@TableName(value="se_management_card", autoResultMap = true)
+@TableName(value = "se_management_card", autoResultMap = true)
 @Data
 @Builder
 @ToString
@@ -30,76 +30,88 @@
     public static final long serialVersionUID = 202506240651001L;
 
     /**
-    * 涓婚敭
-    */
-    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+     * 涓婚敭
+     */
+    @JSONField(serializeUsing = ObjectWriterImplToString.class)
     @TableId(type = IdType.INPUT)
     private Long id;
 
     /**
-    * 閫氳鍗忚
-    */
+     * 閫氳鍗忚
+     */
     @NotBlank(message = "閫氳鍗忚涓嶈兘涓虹┖")
     private String protocol;
 
     /**
-    * 鍗$墖鍦板潃
-    */
+     * 鍗$墖鍦板潃
+     */
     @NotBlank(message = "鍗$墖鍦板潃涓嶈兘涓虹┖")
     private String cardAddr;
 
     /**
-    * 璇嗗埆鐮�
-    */
+     * 璇嗗埆鐮�
+     */
     @NotBlank(message = "璇嗗埆鐮佷笉鑳戒负绌�")
     private String securityCode;
 
     /**
-    * 鍗$墖绫诲瀷;2-璁剧疆鍖哄煙琛ㄥ彿鍗★紝3-鍙栨暟鍗★紝4-妫�鏌ュ崱锛�5-娴嬭瘯鍗★紝6-娓呴浂鍗★紝7-IP璁剧疆鍗★紝8-鍩熷悕璁剧疆鍗★紝9-GPS鍗★紝10-鏃堕棿閰嶇疆鍗�
-    */
+     * 鍗$墖绫诲瀷;2-璁剧疆鍖哄煙琛ㄥ彿鍗★紝3-鍙栨暟鍗★紝4-妫�鏌ュ崱锛�5-娴嬭瘯鍗★紝6-娓呴浂鍗★紝7-IP璁剧疆鍗★紝8-鍩熷悕璁剧疆鍗★紝9-GPS鍗★紝10-鏃堕棿閰嶇疆鍗�
+     */
     @NotNull(message = "鍗$墖绫诲瀷涓嶈兘涓虹┖")
     private Byte cardType;
 
     /**
-    * 寮�鍗℃椂闂�
-    */
+     * 寮�鍗℃椂闂�
+     */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @NotNull(message = "寮�鍗℃椂闂翠笉鑳戒负绌�")
     private Date createTime;
 
     /**
-    * 璁㈠崟鍙�
-    */
+     * 璁㈠崟鍙�
+     */
     private String orderNo;
 
     /**
-    * 5绾ц鏀垮尯鍒掔紪鐮�
-    */
+     * 5绾ц鏀垮尯鍒掔紪鐮�
+     */
     private String districtCode;
 
     /**
-    * 椤圭洰缂栫爜
-    */
+     * 椤圭洰缂栫爜
+     */
     private Integer projectNo;
 
     /**
-    * IP鍦板潃
-    */
+     * IP鍦板潃
+     */
     private String ip;
 
     /**
-    * 鍩熷悕
-    */
+     * 鍩熷悕
+     */
     private String domain;
 
     /**
-    * 寮�鍏抽榾鏃堕棿
-    */
+     * 寮�鍏抽榾鏃堕棿
+     */
     private Integer openClostTime;
 
     /**
-    * 澶囨敞淇℃伅
-    */
+     * 澶囨敞淇℃伅
+     */
     private String remarks;
 
+    /**
+     * 娉ㄩ攢鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date cancelDt;
+
+    /**
+     * 鍗$墖鐘舵��;1-姝e父锛�2-宸叉敞閿�锛�3-宸叉寕澶�
+     */
+    @NotNull(message = "鍗$墖鐘舵�佷笉鑳戒负绌�")
+    private Byte state;
+
 }
\ No newline at end of file
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 c60504f..e595e8f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -868,9 +868,10 @@
   <!--妫�鏌ュ崱鍦板潃鏄惁宸插瓨鍦紙绠$悊鍗¤〃 + 鍐滄埛姘村崱琛級-->
   <select id="checkCardAddrExists" resultType="java.lang.Long">
     SELECT COUNT(*) AS totalCount FROM (
-      -- 妫�鏌ョ鐞嗗崱琛ㄤ腑鐨勬墍鏈夎褰�
+      -- 妫�鏌ョ鐞嗗崱琛ㄤ腑姝e父(1)鍜屾寕澶�(3)鐘舵�佺殑璁板綍
       SELECT card_addr FROM se_management_card 
       WHERE card_addr = #{cardAddr}
+        AND state IN (1, 3)
       
       UNION ALL
       
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java
index 33e01ca..674f238 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java
@@ -14,6 +14,7 @@
 import com.dy.pipIrrTerminal.card.qo.QoLostCards;
 import com.dy.pipIrrTerminal.card.enums.CardStateENUM;
 import com.dy.pipIrrTerminal.card.enums.LastOperateENUM;
+import com.dy.pipIrrTerminal.card.enums.ManagementCardStateENUM;
 import com.dy.pipIrrTerminal.card.enums.OperateTypeENUM;
 import com.dy.pipIrrTerminal.card.enums.RechargeTypeENUM;
 import lombok.extern.slf4j.Slf4j;
@@ -22,6 +23,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import com.dy.common.util.IDLongGenerator;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -57,6 +59,9 @@
 
     @Autowired
     private SeManagementCardMapper seManagementCardMapper;
+
+    @Autowired
+    private IDLongGenerator idLongGenerator;
 
     @Value("${project.projectNo}")
     private Integer projectNo;
@@ -1306,8 +1311,8 @@
             // 鍙傝�僼ermActiveCard閫昏緫锛氱敓鎴愯鍗曞彿
             String orderNo = generateOrderNo();
 
-            // 鍙傝�僼ermActiveCard閫昏緫锛氱敓鎴愬敮涓�ID锛屼娇鐢ㄦ椂闂存埑
-            Long id = System.currentTimeMillis();
+            // 浣跨敤IDLongGenerator鐢熸垚鍞竴ID
+            Long id = idLongGenerator.generate();
             Date createTime = new Date();
 
             // 鏋勫缓绠$悊鍗″璞�
@@ -1325,6 +1330,7 @@
                     .domain(dto.getDomain())
                     .openClostTime(dto.getOpenClostTime())
                     .remarks(dto.getRemarks())
+                    .state(ManagementCardStateENUM.NORMAL.getCode()) // 榛樿鐘舵�佷负姝e父
                     .build();
 
             // 鎻掑叆鏁版嵁搴�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/enums/ManagementCardStateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/enums/ManagementCardStateENUM.java
new file mode 100644
index 0000000..1eecaa4
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/enums/ManagementCardStateENUM.java
@@ -0,0 +1,22 @@
+package com.dy.pipIrrTerminal.card.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-01-20
+ * @LastEditTime 2025-01-20
+ * @Description 绠$悊鍗$姸鎬佹灇涓�
+ */
+
+@Getter
+@AllArgsConstructor
+public enum ManagementCardStateENUM {
+    NORMAL((byte) 1, "姝e父"),
+    CANCELLED((byte) 2, "宸叉敞閿�"),
+    LOSS((byte) 3, "宸叉寕澶�");
+
+    private final Byte code;
+    private final String message;
+}
\ No newline at end of file

--
Gitblit v1.8.0