From a1123bf437014c961bd8831828e265f61346aabc Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 27 六月 2024 16:25:32 +0800
Subject: [PATCH] 2024-06-27 朱宝民 优化添加农户接口和开卡接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java     |   20 ++++++++++++++++++--
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java             |    2 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java         |    1 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java   |   33 ++++++++++++++++-----------------
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java |    1 +
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                       |    2 +-
 6 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 9fd4b6a..01b83ee 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -72,7 +72,7 @@
 
 pipIrr:
     global:
-        dev: true   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+        dev: false   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
         dsName: ym  #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
     mw:
         webPort: 8070
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 b490bcb..66d88c3 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
@@ -59,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()
@@ -77,7 +68,10 @@
         }
 
         // 鑾峰彇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());
+        }
 
         /**
          * 鏍规嵁琛屾斂鍖哄垝涓诧紙areaCode锛夊湪姘村崱琛ㄤ腑閽堝姘村崱缂栧彿锛坈ardNum锛夎繘琛屾ā绯婃煡璇�
@@ -89,12 +83,12 @@
         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);
         } else {
-            cardNum = areaCode + "0001";
+            cardNum = areaCode + "00001";
         }
 
         /**
@@ -122,6 +116,9 @@
          * 鏍规嵁鍐滄埛缂栧彿鑾峰彇鍐滄埛ID
          */
         Long clientId = cardOperateSv.getClientIdByNum(clientNum);
+        if(clientId == null) {
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CLIENT_NUM_ERROR.getMessage());
+        }
 
         /**
          * 娣诲姞鍐滄埛鍗¤褰曪紝閫�杩橀噾棰濅綔涓哄綋鍓嶄綑棰�
@@ -137,7 +134,7 @@
         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());
         }
 
         /**
@@ -155,7 +152,7 @@
         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());
         }
 
         /**
@@ -171,12 +168,14 @@
             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());
             }
         }
 
         Map map = new HashMap();
-        map.put("projectCode", Constant.projectCode_ym);
+
+        map.put("projectNo", String.format("%04x", Integer.parseInt(cardOperateSv.getProjectNo())));
+        map.put("orderNumber", cardId);
         map.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map) ;
     }
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 97ddce7..d9f02e0 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
@@ -6,6 +6,7 @@
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
 import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
 import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
 import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
@@ -52,6 +53,9 @@
     @Autowired
     private SeGeneralMapper seGeneralMapper;
 
+    @Autowired
+    private BaSettingsMapper baSettingsMapper;
+
 
     /**
      * 娣诲姞寮�鍗¤褰�
@@ -68,8 +72,12 @@
      * @param clientNum 鍐滄埛缂栧彿
      * @return 5绾ц鏀垮尯鍒掍唬鐮�
      */
-    public Long getAreaCodeByNum(String clientNum) {
-        return seClientMapper.getAreaCodeByNum(clientNum);
+    public String getAreaCodeByNum(String clientNum) {
+        Long areaCode = seClientMapper.getAreaCodeByNum(clientNum);
+        if (areaCode == null) {
+            return "";
+        }
+        return String.valueOf(areaCode);
     }
 
     /**
@@ -437,4 +445,12 @@
     public Integer updateClientCard(SeClientCard po) {
         return seClientCardMapper.updateByPrimaryKeySelective(po);
     }
+
+    /**
+     * 鑾峰彇椤圭洰缂栧彿
+     * @return
+     */
+    public String getProjectNo() {
+        return baSettingsMapper.getItemValue("projectNo");
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
index 63477f2..d32a48d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
@@ -32,6 +32,7 @@
      * 鍐滄埛缂栧彿锛屽紑鍗′娇鐢�
      */
     @Schema(description = "鍐滄埛缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @NotBlank(message = "鍐滄埛缂栧彿涓嶈兘涓虹┖")
     private String clientNum;
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
index f0abe8f..38061cc 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
@@ -140,7 +140,7 @@
         String villageName = map_districts.get("villageName").toString();
 
         // 鐢熸垚8浣嶈鏀垮尯鍒掔紪鐮侊紝鐢熸垚鍐滄埛缂栧彿鐢�
-        String district8 = countyNum + townNum + villageNum;
+        String district8 = String.format("%02d", Integer.parseInt(countyNum))  + String.format("%03d", Integer.parseInt(townNum)) + String.format("%03d", Integer.parseInt(villageNum));
         // 鐢熸垚鍐滄埛缂栧彿
         String clientNum = generateClientNum(district8);
         // 鐢熸垚12浣�5绾ц鏀垮尯鍒掔紪鐮佷覆鍙婂悕绉颁覆
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 cbd7e67..c5eaca0 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
@@ -17,6 +17,7 @@
      * 寮�鍗�/琛ュ崱
      */
     AREA_CODE_MISTAKE(10001, "璇ュ啘鎴疯鏀垮尯鍒掑紓甯�"),
+    CLIENT_NUM_ERROR(10001, "鍐滄埛缂栧彿閿欒"),
     CARD_NUMBER_OVERRUN(10002, "姘村崱缂栧彿宸叉弧"),
     ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR(10003, "寮�鍗″け璐�-鍐滄埛鍗″啓鍏ュ紓甯�"),
     ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR(10004, "寮�鍗″け璐�-寮�鍗¤褰曞啓鍏ュ紓甯�"),

--
Gitblit v1.8.0