From 6a6d287641a28ad19dfa1c319fe7a9191ef9ad52 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 28 六月 2024 11:16:18 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java |  181 +++++++++++++++++++++++++++-----------------
 1 files changed, 110 insertions(+), 71 deletions(-)

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..bb54a18 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;
@@ -62,15 +59,6 @@
      * @param bindingResult
      * @return 姘村崱缂栧彿
      */
-    @Operation(summary = "寮�鍗�", description = "鏂板紑鍐滄埛鍗�")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "active", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
@@ -80,7 +68,15 @@
         }
 
         // 鑾峰彇5绾ц鏀垮尯鍒掍覆areaCode
-        String areaCode = String.valueOf(cardOperateSv.getAreaCodeByNum(po.getClientNum()));
+        String areaCode = cardOperateSv.getAreaCodeByNum(po.getClientNum());
+        if(areaCode.trim().length() == 0) {
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.AREA_CODE_MISTAKE.getMessage());
+        }
+
+        // p206V1_0_1鍗忚锛屽皢鍓�6浣嶈鏀垮尯鍒掓敼涓�100000
+        if(po.getProtocol().trim().equals("p206V1_0_1")) {
+            areaCode = "100000" + areaCode.substring(6);
+        }
 
         /**
          * 鏍规嵁琛屾斂鍖哄垝涓诧紙areaCode锛夊湪姘村崱琛ㄤ腑閽堝姘村崱缂栧彿锛坈ardNum锛夎繘琛屾ā绯婃煡璇�
@@ -92,19 +88,19 @@
         if(cardNum != null && cardNum.trim().length() > 0) {
             Integer number = Integer.parseInt(cardNum.substring(12));
             number = number + 1;
-            if(number > 9999) {
-                return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+            if(number > 65535) {
+                return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
             }
-            cardNum = cardNum.substring(0, 12) + String.format("%04d", number);
+            cardNum = cardNum.substring(0, 12) + String.format("%05d", number);
         } else {
-            cardNum = areaCode + "0001";
+            cardNum = areaCode + "00001";
         }
 
         /**
          * cardAddr         姘村崱鍦板潃锛堜粎浠呭啓鍏ワ紝鏃犱笟鍔★級
          * clientNum        鍐滄埛缂栧彿
          * cardCost         鍗$墖璐圭敤
-         * amount           鍏呭�奸噾棰�
+         * amount           鍏呭�奸噾棰濓紝鍏呭�兼帴鍙d负杈撳叆鍙傛暟锛岃ˉ鍗℃帴鍙d负鍘熷崱閫�杩橀噾棰�
          * reissueAmount    琛ュ崱閲戦锛岃ˉ鍗℃椂浣跨敤
          * paymentId        鏀粯鏂瑰紡缂栧彿
          * remarks          澶囨敞
@@ -114,6 +110,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();
@@ -124,30 +121,34 @@
          * 鏍规嵁鍐滄埛缂栧彿鑾峰彇鍐滄埛ID
          */
         Long clientId = cardOperateSv.getClientIdByNum(clientNum);
+        if(clientId == null) {
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CLIENT_NUM_ERROR.getMessage());
+        }
 
         /**
-         * 娣诲姞鍐滄埛鍗¤褰�
+         * 娣诲姞鍐滄埛鍗¤褰曪紝閫�杩橀噾棰濅綔涓哄綋鍓嶄綑棰�
          */
         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());
+            return BaseResponseUtils.buildErrorMsg(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());
@@ -156,14 +157,15 @@
         seCardOperate.setOperateDt(activeTime);
         Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR.getMessage());
         }
 
         /**
          * 濡傛灉鎿嶄綔浜哄憳寮�鍗℃椂杈撳叆浜嗗厖鍊奸噾棰濓紝鍒欏紑鍗″悗璋冪敤鍏呭�煎姛鑳�
+         * 琛ュ崱闄ゅ锛岃ˉ鍗$殑閫�杩橀噾棰濇槸浠庢寕澶卞崱涓浆绉昏繃鏉ョ殑锛屾病鏈夊疄闄呴噾閽变氦鏄�
          */
-        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);
@@ -171,12 +173,17 @@
             dtoRecharge.setPrice(0f);
             BaseResponse<Boolean> job = cardOperateSv.addRecharge(dtoRecharge);
             if(!job.getCode().equals("0001")) {
-                return BaseResponseUtils.buildFail(SellResultCode.ACTIVE_FAIL_RECHARGE_EXCEPTION.getMessage());
+                return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_RECHARGE_EXCEPTION.getMessage());
             }
         }
 
+        if(po.getProtocol().trim().equals("p206V1_0_1")) {
+            cardNum = cardNum.substring(6,12) + cardNum.substring(13);
+        }
+
         Map map = new HashMap();
-        map.put("projectCode", Constant.projectCode_ym);
+        map.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map.put("orderNumber", cardId);
         map.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map) ;
     }
@@ -208,6 +215,7 @@
          * cardAddr         鏂扮殑姘村崱鍦板潃锛堜粎浠呭啓鍏ワ紝鏃犱笟鍔★級
          * clientNum        鍐滄埛缂栧彿锛屽紑鏂板崱浣跨敤锛岄�氳繃鑰佸崱鍙疯幏鍙�
          * cardNum          姘村崱缂栧彿锛屼紶鍏ョ殑鏄�佸崱鍙凤紝杩斿洖鐨勬槸鏂板崱鍙�
+         * cardId           鍘熸按鍗★紙鎸傚け姘村崱锛塈D锛岃浆绉讳綑棰濆悗闇�瑕佹洿鏂板崱浣欓涓�0
          * moeny            浣欓锛屾寕澶辨椂浣跨敤
          * cardCost         鍗$墖璐圭敤
          * paymentId        鏀粯鏂瑰紡缂栧彿
@@ -217,17 +225,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());
         }
 
         /**
@@ -238,30 +246,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);
@@ -272,7 +275,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);
@@ -341,7 +344,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();
@@ -349,7 +352,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());
         }
@@ -437,7 +440,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();
@@ -445,7 +448,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());
         }
@@ -484,6 +487,7 @@
         seCardOperate.setClientId(clientId);
         seCardOperate.setMoney(money);
         seCardOperate.setTradeAmount(-refund);
+        seCardOperate.setPaymentId(1L);
         seCardOperate.setOperateType(OperateTypeENUM.LOSS.getCode());
         seCardOperate.setRemarks(remarks);
         seCardOperate.setOperator(operator);
@@ -531,7 +535,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();
@@ -539,7 +543,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());
         }
@@ -624,7 +628,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();
@@ -632,7 +636,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());
         }
@@ -708,9 +712,9 @@
         }
 
         /**
-         * cardId           姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardAddr鍙嶆煡锛屼慨鏀瑰啘鎴峰崱浣跨敤锛�
+         * cardId           姘村崱涓婚敭锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛屼慨鏀瑰啘鎴峰崱浣跨敤锛�
          * clientId         鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛�
-         * cardNum          姘村崱鍦板潃
+         * cardNum          姘村崱缂栧彿
          * money            浣欓
          * remarks          澶囨敞
          * operator         鎿嶄綔浜虹紪鍙�
@@ -718,16 +722,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());
         }
 
         /**
@@ -794,13 +797,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()) ;
         }
     }
-
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗鏄庣粏
@@ -828,7 +833,6 @@
         }
     }
 
-
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�
      * @param vo
@@ -845,9 +849,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 +861,6 @@
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
-
-
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇琛ュ崱璁板綍
@@ -890,6 +892,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

--
Gitblit v1.8.0