From a9417136ffaed5635199864a3719e77822903270 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 08 七月 2024 21:40:09 +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 |  133 ++++++++++----------------------------------
 1 files changed, 31 insertions(+), 102 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 25c4d9c..c42f2a8 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
@@ -76,27 +76,40 @@
             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);
+        // p206V1_0_1鍗忚锛屽彇琛屾斂鍖哄垝鐨勫悗6浣�
+        if(po.getProtocol() != null && po.getProtocol().trim().equals("p206V1_0_1")) {
+            areaCode = areaCode.substring(6);
         }
 
         /**
          * 鏍规嵁琛屾斂鍖哄垝涓诧紙areaCode锛夊湪姘村崱琛ㄤ腑閽堝姘村崱缂栧彿锛坈ardNum锛夎繘琛屾ā绯婃煡璇�
-         * 濡傛灉4浣嶉『搴忓彿宸茬粡杈惧埌鏈�澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛�
-         * 濡傛灉4浣嶉『搴忓彿鏈揪鍒版渶澶у�硷紝鍒欏姞1
+         * 濡傛灉椤哄簭鍙峰凡缁忚揪鍒版渶澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛�
+         * 濡傛灉椤哄簭鍙锋湭杈惧埌鏈�澶у�硷紝鍒欏姞1
          * cardNum涓烘柊鐨勫崱鍙�
          */
         String cardNum = Optional.ofNullable(cardOperateSv.getCardNumOfMax(areaCode)).orElse("");
-        if(cardNum != null && cardNum.trim().length() > 0) {
-            Integer number = Integer.parseInt(cardNum.substring(12));
-            number = number + 1;
-            if(number > 65535) {
-                return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+        if(po.getProtocol().trim().equals("p206V1_0_1")) {
+            if(cardNum != null && cardNum.trim().length() > 0) {
+                Integer number = Integer.parseInt(cardNum.substring(6));
+                number = number + 1;
+                if(number > 9999) {
+                    return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+                }
+                cardNum = cardNum.substring(0, 6) + String.format("%04d", number);
+            } else {
+                cardNum = areaCode + "0001";
             }
-            cardNum = cardNum.substring(0, 12) + String.format("%05d", number);
-        } else {
-            cardNum = areaCode + "00001";
+        }else {
+            if(cardNum != null && cardNum.trim().length() > 0) {
+                Integer number = Integer.parseInt(cardNum.substring(12));
+                number = number + 1;
+                if(number > 65535) {
+                    return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+                }
+                cardNum = cardNum.substring(0, 12) + String.format("%05d", number);
+            } else {
+                cardNum = areaCode + "00001";
+            }
         }
 
         /**
@@ -182,13 +195,9 @@
             }
         }
 
-        if(po.getProtocol().trim().equals("p206V1_0_1")) {
-            cardNum = cardNum.substring(6,12) + cardNum.substring(13);
-        }
-
         Map map = new HashMap();
         map.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
-        map.put("orderNumber", cardId);
+        map.put("orderNumber", rec);
         map.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map) ;
     }
@@ -231,21 +240,13 @@
         Long operator = po.getOperator();
         String protocol = null;
 
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        String cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.length() == 10) {
-            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-            protocol = "p206V1_0_1";
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶变笖鏈ˉ鍗$殑鍙互琛ュ崱
         if(!cardOperateSv.isLostAndUnreplaced(cardNum)) {
             return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         // 濡傛灉浼犲叆浜嗛��杩橀噾棰濓紝闇�瑕佸垽鏂�佸崱锛堣鎸傚け鐨勬按鍗★級鎸傚け鏃舵槸鍚﹀凡缁忛��娆撅紝鏃犺閫�娆惧灏戦兘鎻愮ず鐢ㄦ埛鎸傚け鏃跺凡閫�娆�
-        if(reissueAmount != null) {
+        if(reissueAmount != null && reissueAmount > 0) {
             Double tradeAmount = cardOperateSv.getTradeAmountByCardNo(cardNum);
             if(tradeAmount != null) {
                 return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_FEE_CANNOT_BE_REFUNDED.getMessage());
@@ -275,12 +276,14 @@
         /**
          * 娣诲姞寮�鍗¤褰曪紝閫�杩橀噾棰濆啿鍒版柊鍗′腑
          */
+        if(String.valueOf(cardNum).trim().length() == 10) {
+            protocol = "p206V1_0_1";
+        }
         DtoActiveCard dtoActiveCard = new DtoActiveCard();
         dtoActiveCard.setProtocol(protocol);
         dtoActiveCard.setCardAddr(cardAddr);
         dtoActiveCard.setClientNum(clientNum);
         dtoActiveCard.setOriginalCardId(cardId);
-        //dtoActiveCard.setOriginalCardId(cardNum);
         dtoActiveCard.setCardCost(cardCost);
         dtoActiveCard.setAmount(reissueAmount);
         dtoActiveCard.setPaymentId(paymentId);
@@ -353,13 +356,6 @@
         Long operator = po.getOperator();
         Date cancelTime = new Date();
 
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        String cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.length() == 10) {
-            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
@@ -411,14 +407,6 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage());
         }
 
-        //return BaseResponseUtils.buildSuccess(true) ;
-
-        cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.substring(0,2).equals("10")) {
-            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         Map map_response = new HashMap();
         map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
         map_response.put("orderNumber", rec);
@@ -458,13 +446,6 @@
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
         Date lossTime = new Date();
-
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        String cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.length() == 10) {
-            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-        }
-        cardNum = Long.valueOf(cardNumS);
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
@@ -519,13 +500,6 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage());
         }
 
-        //return BaseResponseUtils.buildSuccess(true) ;
-        cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.substring(0,2).equals("10")) {
-            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         Map map_response = new HashMap();
         map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
         map_response.put("orderNumber", rec);
@@ -565,13 +539,6 @@
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
         Date reversalTime = new Date();
-
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        String cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.length() == 10) {
-            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-        }
-        cardNum = Long.valueOf(cardNumS);
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
@@ -621,13 +588,6 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.REVERSAL_FAIL_WRITE_REVERSAL_ERROR.getMessage());
         }
 
-        //return BaseResponseUtils.buildSuccess(true) ;
-        cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.substring(0,2).equals("10")) {
-            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         Map map_response = new HashMap();
         map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
         map_response.put("orderNumber", rec);
@@ -669,13 +629,6 @@
         Long operator = po.getOperator();
         Date refundTime = new Date();
 
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        String cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.length() == 10) {
-            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
@@ -714,7 +667,6 @@
         seCardOperate.setCardId(cardId);
         seCardOperate.setClientId(clientId);
         seCardOperate.setMoney(money);
-        //seCardOperate.setNoTradeAmount(refund);
         seCardOperate.setRefundAmount(refund);
         seCardOperate.setOperateType(OperateTypeENUM.REFUND.getCode());
         seCardOperate.setRemarks(remarks);
@@ -758,13 +710,6 @@
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
         Date unlockTime = new Date();
-
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        String cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.length() == 10) {
-            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-        }
-        cardNum = Long.valueOf(cardNumS);
 
         // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互瑙i攣
         if(!cardOperateSv.isLostAndUnreplaced(cardNum)) {
@@ -813,13 +758,6 @@
             return BaseResponseUtils.buildErrorMsg(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage());
         }
 
-        //return BaseResponseUtils.buildSuccess(true) ;
-        cardNumS = String.valueOf(cardNum).trim();
-        if(cardNumS.substring(0,2).equals("10")) {
-            cardNumS = cardNumS.substring(6, 12) + cardNumS.substring(13);
-        }
-        cardNum = Long.valueOf(cardNumS);
-
         Map map_response = new HashMap();
         map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
         map_response.put("orderNumber", rec);
@@ -845,15 +783,6 @@
     @GetMapping(path = "/getRecharges")
     @SsoAop()
     public BaseResponse<QueryResultVo<List<VoRecharge>>> get(QoRecharge vo){
-        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
-        if(vo != null && vo.getCardNum() != null) {
-            String cardNumS = String.valueOf(vo.getCardNum()).trim();
-            if(cardNumS.length() == 10) {
-                cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
-                vo.setCardNum(Long.parseLong(cardNumS));
-            }
-        }
-
         try {
             QueryResultVo<List<VoRecharge>> res = cardOperateSv.getRecharges(vo);
             return BaseResponseUtils.buildSuccess(res);

--
Gitblit v1.8.0