From bff91fc41a95f92766ea869768b1cdc894202920 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期三, 21 八月 2024 13:45:54 +0800
Subject: [PATCH] 优化开卡、补卡返回值代码

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java |   81 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 70 insertions(+), 11 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 5cb744f..32a7693 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,6 +10,7 @@
 import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
 import com.dy.pipIrrGlobal.util.AmountToChinese;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
 import com.dy.pipIrrGlobal.voSe.VoOperate;
@@ -31,6 +32,7 @@
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.MediaType;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -55,6 +57,11 @@
     private final CardOperateSv cardOperateSv;
     private final ClientCardSv clientCardSv;
 
+    @Value("${project.divisionCode}")
+    private String divisionCode;
+
+    @Value("${project.projectNo}")
+    private Integer projectNo;
     /**
      * 寮�鍗�
      * @param po 寮�鍗′紶鍏ュ璞�
@@ -176,7 +183,8 @@
         }
 
         Map map = new HashMap();
-        map.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+//        map.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map.put("projectNo", String.format("%02x", projectNo));
         map.put("orderNumber", rec);
         map.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map) ;
@@ -389,7 +397,7 @@
         }
 
         Map map_response = new HashMap();
-        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("projectNo", String.format("%02x", projectNo));
         map_response.put("orderNumber", rec);
         map_response.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map_response) ;
@@ -482,7 +490,7 @@
         }
 
         Map map_response = new HashMap();
-        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("projectNo", String.format("%02x", projectNo));
         map_response.put("orderNumber", rec);
         map_response.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map_response) ;
@@ -570,7 +578,7 @@
         }
 
         Map map_response = new HashMap();
-        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("projectNo", String.format("%02x", projectNo));
         map_response.put("orderNumber", rec);
         map_response.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map_response) ;
@@ -740,12 +748,63 @@
         }
 
         Map map_response = new HashMap();
-        map_response.put("projectNo", String.format("%02x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map_response.put("projectNo", String.format("%02x", projectNo));
         map_response.put("orderNumber", rec);
         map_response.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map_response) ;
 
     }
+
+    /**
+     * 鍒涘缓绠$悊鍗�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "create_manager_card", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> createManagerCard(@RequestBody @Valid ManagerCard po, BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        /**
+         * 鏍规嵁琛屾斂鍖哄垝涓诧紙divisionCode锛夊湪绠$悊鍗¤〃涓拡瀵瑰崱鐗囩紪鍙凤紙cardNum锛夎繘琛屾ā绯婃煡璇�
+         * 濡傛灉椤哄簭鍙峰凡缁忚揪鍒版渶澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛�
+         * 濡傛灉椤哄簭鍙锋湭杈惧埌鏈�澶у�硷紝鍒欏姞1
+         * cardNum涓烘柊鐨勫崱鍙�
+         */
+        String cardNum = Optional.ofNullable(cardOperateSv.getManagerCardNumOfMax(divisionCode)).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());
+            }
+            cardNum = cardNum.substring(0, 12) + String.format("%05d", number);
+        } else {
+            cardNum = divisionCode + "00001";
+        }
+
+        SeManagerCard seManagerCard = new SeManagerCard();
+        seManagerCard.setCardAddr(po.getCardAddr());
+        seManagerCard.setCardNum(cardNum);
+        seManagerCard.setCardType(po.getCardType());
+        seManagerCard.setCreateTime(new Date());
+        seManagerCard.setRemarks(po.getRemarks());
+        Long managerCardId = cardOperateSv.addManagerCard(seManagerCard);
+        if(managerCardId == 0) {
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CREATE_MANAGER_CARD_ERROR.getMessage());
+        }
+
+        return BaseResponseUtils.buildSuccess(cardNum);
+
+        //Map map = new HashMap();
+        //map.put("cardNum", cardNum);
+        //return BaseResponseUtils.buildSuccess(map) ;
+    }
+
 
     /**
      * 鑾峰彇鍏呭�艰褰�
@@ -818,9 +877,9 @@
     public BaseResponse<QueryResultVo<List<VoActiveCard>>> getActiveCards(QoActiveCard vo){
         try {
             QueryResultVo<List<VoActiveCard>> res = cardOperateSv.getActiveCards(vo);
-            if(res.itemTotal == 0) {
-                return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ActiveCards.getMessage());
-            }
+//            if(res.itemTotal == 0) {
+//                return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ActiveCards.getMessage());
+//            }
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
@@ -847,9 +906,9 @@
     public BaseResponse<QueryResultVo<List<VoReissueCard>>> getReissueCards(QoReissueCard vo){
         try {
             QueryResultVo<List<VoReissueCard>> res = cardOperateSv.getReissueCards(vo);
-            if(res.itemTotal == 0) {
-                return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ReissueCards.getMessage());
-            }
+//            if(res.itemTotal == 0) {
+//                return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ReissueCards.getMessage());
+//            }
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鑾峰彇琛ュ崱璁板綍寮傚父", e);

--
Gitblit v1.8.0