From c70b92da60c0d00625da5fc2369b475e69e0b88e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 22 八月 2024 11:36:41 +0800
Subject: [PATCH] 1、完善代码和application.yml配置文件,去掉不用的引入文件; 2、init-config.xml配置中增加属性 enable,相应解析类也增加了解析与判断; 3、凡是有Server的应用,加载资源方式改为用springboot的工具类加载; 4、通信协议相关的扫描注解功能实现改为采用reflections-0.10.2,以实现可以在jar包情况下能够扫描类(.class)注解。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 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 502c1e9..29a0cd6 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) ;
@@ -229,7 +237,7 @@
         // 濡傛灉浼犲叆浜嗛��杩橀噾棰濓紝闇�瑕佸垽鏂�佸崱锛堣鎸傚け鐨勬按鍗★級鎸傚け鏃舵槸鍚﹀凡缁忛��娆撅紝鏃犺閫�娆惧灏戦兘鎻愮ず鐢ㄦ埛鎸傚け鏃跺凡閫�娆�
         if(reissueAmount != null && reissueAmount > 0) {
             Double tradeAmount = cardOperateSv.getTradeAmountByCardNo(cardNum);
-            if(tradeAmount != null) {
+            if(tradeAmount != null && tradeAmount > 0) {
                 return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_FEE_CANNOT_BE_REFUNDED.getMessage());
             }
         }
@@ -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,7 +748,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) ;
@@ -748,6 +756,57 @@
     }
 
     /**
+     * 鍒涘缓绠$悊鍗�
+     * @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) ;
+    }
+
+
+    /**
      * 鑾峰彇鍏呭�艰褰�
      * @param vo
      * @return

--
Gitblit v1.8.0