From 0e2f3f937e4cb7f6d4c9eb2d5bd379fe7caae175 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期一, 05 二月 2024 16:24:24 +0800
Subject: [PATCH] 2024-02-05 朱宝民 注销、挂失、冲正、解锁共用一个通用查询接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCommonOperate.java |   39 ++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java                            |   55 +++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java      |   37 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java          |    9 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml                                |   72 +++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java    |   53 +++++++-
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCancel.java        |   34 +++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java                 |   19 +++
 8 files changed, 301 insertions(+), 17 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
index 9dc5e25..00cb1f0 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
@@ -71,7 +71,7 @@
      * @param params
      * @return
      */
-    List<VoActiveCardNew> getActiveCards(Map<?, ?> params);
+    List<VoActiveCard> getActiveCards(Map<?, ?> params);
 
 
     /**
@@ -89,6 +89,23 @@
     List<VoReissueCard> getReissueCards(Map<?, ?> params);
 
     /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍鏁伴噺
+     * 娉ㄩ攢銆佹寕澶便�佸啿姝c�佽В閿侀�氱敤
+     * @param params
+     * @return
+     */
+    Long getCommonOperationRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍
+     * 娉ㄩ攢銆佹寕澶便�佸啿姝c�佽В閿侀�氱敤
+     * @param params
+     * @return
+     */
+    List<VoOperate> getCommonOperations(Map<?, ?> params);
+
+
+    /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏀舵嵁鍒楄〃鏁�
      * @param params
      * @return
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java
new file mode 100644
index 0000000..8977940
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java
@@ -0,0 +1,55 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-02-05 11:23
+ * @LastEditTime 2024-02-05 11:23
+ * @Description
+ */
+
+@Data
+@Schema(title = "閫氱敤鎿嶄綔璁板綍瑙嗗浘瀵硅薄")
+public class VoOperate {
+    private static final long serialVersionUID = 202402051126001L;
+
+    @Schema(title = "鍐滄埛濮撳悕")
+    private String clientName;
+
+    @Schema(title = "鍐滄埛缂栧彿")
+    private String clientNum;
+
+    @Schema(title = "姘村崱缂栧彿")
+    private String cardNum;
+
+    @Schema(title = "鎿嶄綔浜�")
+    private String operator;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Schema(title = "鎿嶄綔鏃堕棿")
+    private Date operateDt;
+
+    //娉ㄩ攢鏌ヨ2涓繑鍥炲��
+    @Schema(title = "閫�鍥為噾棰�")
+    private Float refund;
+
+    @Schema(title = "閫�娆炬柟寮忓悕绉�")
+    private String refundTypeName;
+
+    //鎸傚け1涓繑鍥炲��
+    @Schema(title = "鍗$墖浣欓鍙婂啿姝e悗浣欓")
+    private Double money;
+
+    //鍐叉2涓繑鍥炲�硷紝鍐叉鍚庝綑棰濅笌鎸傚け鍏辩敤
+    @Schema(title = "鍐叉鍓嶄綑棰�")
+    private Double systemBalance;
+
+    //瑙i攣1涓繑鍥炲�硷紝涓庢寕澶卞叡鐢�
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
index ce7af1c..3114482 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -387,7 +387,7 @@
   </select>
 
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�-->
-  <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCardNew">
+  <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCard">
     SELECT
     CAST(ope.id AS char) AS id ,
     cli.name AS clientName,
@@ -491,6 +491,76 @@
     </trim>
   </select>
 
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍鏁伴噺-->
+  <select id="getCommonOperationRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    select
+        COUNT(*) AS recordCount
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user us ON ope.operator = us.id
+    <where>
+      <if test = "operateType != null and operateType > 0">
+        AND ope.operate_type = ${operateType}
+      </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>
+
+      <if test = "timeStart != null and timeStop != null">
+        AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍-->
+  <select id="getCommonOperations" resultType="com.dy.pipIrrGlobal.voSe.VoOperate">
+    SELECT
+        cli.name AS clientName,
+        cli.clientNum,
+        CAST(card.cardNum AS char) AS cardNum,
+        us.name AS operator,
+        ope.operate_dt AS operateDt,
+        IFNULL(ope.trade_amount,0) AS refund,
+        (CASE
+            WHEN ope.payment_id = 1 THEN "鐜伴噾"
+        END) AS refundTypeName,
+        card.money,
+        IFNULL(ope.system_balance,0) AS systemBalance
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user us ON ope.operator = us.id
+    <where>
+      <if test = "operateType != null and operateType > 0">
+        AND ope.operate_type = ${operateType}
+      </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>
+
+      <if test = "timeStart != null and timeStop != null">
+        AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+    ORDER BY ope.operate_dt DESC
+    <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="getReceiptsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
     SELECT
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 5a55ad5..5978104 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
@@ -10,10 +10,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.util.AmountToChinese;
 import com.dy.pipIrrGlobal.util.Constant;
-import com.dy.pipIrrGlobal.voSe.VoActiveCard;
-import com.dy.pipIrrGlobal.voSe.VoActiveCardNew;
-import com.dy.pipIrrGlobal.voSe.VoRecharge;
-import com.dy.pipIrrGlobal.voSe.VoReissueCard;
+import com.dy.pipIrrGlobal.voSe.*;
 import com.dy.pipIrrSell.cardOperate.converter.RechargeDtoMapper;
 import com.dy.pipIrrSell.cardOperate.dto.*;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -484,6 +481,7 @@
         seCardOperate.setClientId(clientId);
         seCardOperate.setMoney(money);
         seCardOperate.setTradeAmount(-refund);
+        seCardOperate.setPaymentId(1L);
         seCardOperate.setOperateType(OperateTypeENUM.LOSS.getCode());
         seCardOperate.setRemarks(remarks);
         seCardOperate.setOperator(operator);
@@ -794,13 +792,15 @@
     public BaseResponse<QueryResultVo<List<VoRecharge>>> get(QoRecharge vo){
         try {
             QueryResultVo<List<VoRecharge>> res = cardOperateSv.getRecharges(vo);
+            if(res.itemTotal == 0) {
+                return BaseResponseUtils.buildFail(SellResultCode.No_RECHARGES.getMessage());
+            }
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鑾峰彇鍏呭�艰褰曞紓甯�", e);
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
-
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗鏄庣粏
@@ -845,9 +845,9 @@
     })
     @GetMapping(path = "/getActiveCards")
     @SsoAop()
-    public BaseResponse<QueryResultVo<List<VoActiveCardNew>>> getActiveCards(QoActiveCard vo){
+    public BaseResponse<QueryResultVo<List<VoActiveCard>>> getActiveCards(QoActiveCard vo){
         try {
-            QueryResultVo<List<VoActiveCardNew>> res = cardOperateSv.getActiveCards(vo);
+            QueryResultVo<List<VoActiveCard>> res = cardOperateSv.getActiveCards(vo);
             if(res.itemTotal == 0) {
                 return BaseResponseUtils.buildFail(SellResultCode.No_ActiveCards.getMessage());
             }
@@ -857,8 +857,6 @@
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
-
-
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇琛ュ崱璁板綍
@@ -890,6 +888,43 @@
     }
 
     /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍
+     * 娉ㄩ攢銆佹寕澶便�佸啿姝c�佽В閿侀�氱敤
+     * 娉ㄩ攢-3锛屾寕澶�-6锛屽啿姝�-7锛岃В閿�-8
+     * @param vo
+     * @return
+     */
+    @Operation(summary = "鑾峰彇閫氱敤鎿嶄綔璁板綍", description = "杩斿洖閫氱敤鎿嶄綔璁板綍")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛紑鍗℃暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getOptions")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoOperate>>> getCommonOperations(QoCommonOperate vo){
+        // 楠岃瘉鎿嶄綔绫诲瀷鏄惁姝g‘
+        Integer operateType = Optional.ofNullable(vo.getOperateType()).orElse(0);
+        if(operateType != 3 && operateType != 6 && operateType != 7 && operateType != 8) {
+            return BaseResponseUtils.buildFail(SellResultCode.PARAMS_ERROR.getMessage());
+        }
+
+        try {
+            QueryResultVo<List<VoOperate>> res = cardOperateSv.getCommonOperations(vo);
+            if(res.itemTotal == 0) {
+                return BaseResponseUtils.buildFail(SellResultCode.No_CANCELS.getMessage());
+            }
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏀舵嵁鍒楄〃
      * @param vo
      * @return
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 081c671..49ddfe9 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
@@ -231,7 +231,6 @@
         return rsVo ;
     }
 
-
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
      * @param vo
@@ -291,7 +290,7 @@
      * @param queryVo
      * @return
      */
-    public QueryResultVo<List<VoActiveCardNew>> getActiveCards(QoActiveCard queryVo) {
+    public QueryResultVo<List<VoActiveCard>> getActiveCards(QoActiveCard queryVo) {
         //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
         String activeTimeStart = queryVo.activeTimeStart;
         String activeTimeStop = queryVo.activeTimeStop;
@@ -308,7 +307,7 @@
 
         Long itemTotal = seCardOperateMapper.getActiveCardRecordCount(params);
 
-        QueryResultVo<List<VoActiveCardNew>> rsVo = new QueryResultVo<>() ;
+        QueryResultVo<List<VoActiveCard>> rsVo = new QueryResultVo<>() ;
 
         rsVo.pageSize = queryVo.pageSize ;
         rsVo.pageCurr = queryVo.pageCurr ;
@@ -351,6 +350,38 @@
     }
 
     /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇IC鍗℃敞閿�璁板綍
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoOperate>> getCommonOperations(QoCommonOperate queryVo) {
+        //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
+        String timeStart = queryVo.getTimeStart();
+        String timeStop = queryVo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            queryVo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            queryVo.setTimeStop(timeStop);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = Optional.ofNullable(seCardOperateMapper.getCommonOperationRecordCount(params)).orElse(0L);
+
+        QueryResultVo<List<VoOperate>> rsVo = new QueryResultVo<>() ;
+
+        rsVo.pageSize = queryVo.pageSize ;
+        rsVo.pageCurr = queryVo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = seCardOperateMapper.getCommonOperations(params);
+        return rsVo ;
+    }
+
+    /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏀舵嵁鍒楄〃
      * @param queryVo
      * @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCancel.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCancel.java
new file mode 100644
index 0000000..a216fcc
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCancel.java
@@ -0,0 +1,34 @@
+package com.dy.pipIrrSell.cardOperate.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-02-05 9:29
+ * @LastEditTime 2024-02-05 9:29
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "IC鍗℃敞閿�璁板綍鏌ヨ鏉′欢")
+public class QoCancel extends QueryConditionVo {
+    @Schema(description = "鍐滄埛濮撳悕")
+    public String clientName;
+
+    @Schema(description = "姘村崱缂栧彿")
+    public String cardNum;
+
+
+    @Schema(description = "娉ㄩ攢鏃堕棿_寮�濮�")
+    public String timeStart;
+
+    @Schema(description = "娉ㄩ攢鏃堕棿_缁撴潫")
+    public String timeStop;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCommonOperate.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCommonOperate.java
new file mode 100644
index 0000000..c47a840
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoCommonOperate.java
@@ -0,0 +1,39 @@
+package com.dy.pipIrrSell.cardOperate.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-02-05 11:00
+ * @LastEditTime 2024-02-05 11:00
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "IC鍗℃寕澶辫褰曟煡璇㈡潯浠�")
+public class QoCommonOperate extends QueryConditionVo {
+    /**
+     * 娉ㄩ攢-3锛屾寕澶�-6锛屽啿姝�-7锛岃В閿�-8
+     */
+    @Schema(description = "鎿嶄綔绫诲瀷")
+    public Integer operateType;
+
+    @Schema(description = "鍐滄埛濮撳悕")
+    public String clientName;
+
+    @Schema(description = "姘村崱缂栧彿")
+    public Long cardNum;
+
+    @Schema(description = "鎸傚け鏃堕棿_寮�濮�")
+    public String timeStart;
+
+    @Schema(description = "鎸傚け鏃堕棿_缁撴潫")
+    public String timeStop;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
index 5820bee..a0b2d7c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -25,10 +25,13 @@
     REPLACE_FAIL_WRITE_CLIENT_CARD_ERROR(10007, "琛ュ崱澶辫触-鍐滄埛鍗′慨鏀瑰紓甯�"),
     REPLACE_FAIL_WRITE_RECHARGE_ERROR(10008, "琛ュ崱澶辫触-琛ュ崱璁板綍鍐欏叆寮傚父"),
     No_ActiveCards(10009, "娌℃湁绗﹀悎鏉′欢鐨勫紑鍗℃暟鎹�"),
-    No_ReissueCards(10010, "娌℃湁绗﹀悎鏉′欢鐨勮ˉ鍗℃暟鎹�"),
+    No_RECHARGES(10010, "娌℃湁绗﹀悎鏉′欢鐨勫厖鍊兼暟鎹�"),
+    No_ReissueCards(10011, "娌℃湁绗﹀悎鏉′欢鐨勮ˉ鍗℃暟鎹�"),
+    No_CANCELS(10010, "娌℃湁绗﹀悎鏉′欢鐨勬敞閿�鏁版嵁"),
+    PARAMS_ERROR(10010, "鎿嶄綔绫诲瀷鍙傛暟閿欒"),
 
-    THE_CARD_NOT_EXIST(10011, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
-    THE_CARD_NOT_SUPPORT_THIS_OPERATION(10012, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
+    THE_CARD_NOT_EXIST(10012, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
+    THE_CARD_NOT_SUPPORT_THIS_OPERATION(10013, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
 
     /**
      * 鍏呭��

--
Gitblit v1.8.0