From f1599d8230e83fb08ebb0473bbe486979b4d1d38 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期三, 29 五月 2024 17:24:16 +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/virtualCard/VirtualCardCtrl.java |   95 +++++++++++++++++++++++++++--------------------
 1 files changed, 54 insertions(+), 41 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java
index 22f2cca..26cb867 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java
@@ -3,15 +3,24 @@
 import com.dy.common.aop.SsoAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
+import com.dy.pipIrrSell.result.SellResultCode;
 import com.dy.pipIrrSell.util.PayHelper;
+import com.dy.pipIrrSell.virtualCard.dto.DtoRegist;
+import com.dy.pipIrrSell.virtualCard.enums.LastOperateENUM;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -31,14 +40,14 @@
     private final PayHelper payHelper;
 
     /**
-     * 鑾峰彇鍏ㄩ儴铏氭嫙鍗�
+     * 鑾峰彇鍐滄埛鍏ㄩ儴铏氭嫙鍗�
      * @return
      */
     @GetMapping(path = "/get")
     @SsoAop()
-    public BaseResponse<List<VoVirtualCard>> getVCs(){
+    public BaseResponse<List<VoVirtualCard>> getVCs(Long clientId){
         try {
-            List<VoVirtualCard> res = virtualCardSv.getVCs();
+            List<VoVirtualCard> res = virtualCardSv.getVCs(clientId);
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鑾峰彇鏀粯鏂瑰紡璁板綍寮傚父", e);
@@ -68,44 +77,48 @@
      * @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 = "add_vc")
-    //@SsoAop()
-    //public BaseResponse<Boolean> addVC(@RequestBody @Valid DtoRegist po, BindingResult bindingResult){
-    //    if(bindingResult != null && bindingResult.hasErrors()){
-    //        return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-    //    }
-    //    Long clientId = po.getClientId();
-    //    String vcName = po.getVcName();
-    //
-    //    // 鍚嶇О楠岄噸
-    //    Integer rc = virtualCardSv.getRecordCountByName(po);
-    //    if(rc != null && rc > 0) {
-    //        return BaseResponseUtils.buildFail(SellResultCode.CARD_NAME_ESIST.getMessage());
-    //    }
-    //
-    //    SeVirtualCard seVirtualCard = new SeVirtualCard();
-    //    seVirtualCard.setVcName(vcName);
-    //    seVirtualCard.setClientId(clientId);
-    //    seVirtualCard.setMoney(0d);
-    //    seVirtualCard.setLastOperate(LastOperateENUM.OPEN_ACCOUNT.getCode());
-    //    seVirtualCard.setLastOperateTime(new Date());
-    //    seVirtualCard.setInUse((byte) 0);
-    //    seVirtualCard.setCreateTime(new Date());
-    //    Long rec = virtualCardSv.insertVirtualCard(seVirtualCard);
-    //    if(rec == null) {
-    //        return BaseResponseUtils.buildFail(SellResultCode.WALLET_OPEN_ACCOUNT_FAIL.getMessage());
-    //    }
-    //    return BaseResponseUtils.buildSuccess(true) ;
-    //}
+    @PostMapping(path = "add_vc")
+    @SsoAop()
+    public BaseResponse<Boolean> addVC(@RequestBody @Valid DtoRegist po, BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        Long clientId = po.getClientId();
+
+        // 鑾峰彇5绾ц鏀垮尯鍒掍覆areaCode
+        String areaCode = String.valueOf(virtualCardSv.getAreaCodeById(clientId));
+        /**
+         * 鏍规嵁琛屾斂鍖哄垝涓诧紙areaCode锛夊湪铏氭嫙鍗¤〃涓拡瀵硅櫄鎷熷崱缂栧彿锛坴cNum锛夎繘琛屾ā绯婃煡璇�
+         * 濡傛灉5浣嶉『搴忓彿宸茬粡杈惧埌鏈�澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛�
+         * 濡傛灉5浣嶉『搴忓彿鏈揪鍒版渶澶у�硷紝鍒欏姞1
+         * cardNum涓烘柊鐨勫崱鍙�
+         */
+        String vcNum = Optional.ofNullable(virtualCardSv.getVcCardNumOfMax(areaCode)).orElse("");
+        if(vcNum != null && vcNum.trim().length() > 0) {
+            Integer number = Integer.parseInt(vcNum.substring(12));
+            number = number + 1;
+            if(number > 99999) {
+                return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+            }
+            vcNum = vcNum.substring(0, 12) + String.format("%05d", number);
+        } else {
+            vcNum = areaCode + "00001";
+        }
+
+        SeVirtualCard seVirtualCard = new SeVirtualCard();
+        seVirtualCard.setVcNum(Long.parseLong(vcNum));
+        seVirtualCard.setClientId(clientId);
+        seVirtualCard.setMoney(0d);
+        seVirtualCard.setLastOperate(LastOperateENUM.OPEN_ACCOUNT.getCode());
+        seVirtualCard.setLastOperateTime(new Date());
+        seVirtualCard.setInUse((byte) 0);
+        seVirtualCard.setCreateTime(new Date());
+        Long rec = virtualCardSv.insertVirtualCard(seVirtualCard);
+        if(rec == null) {
+            return BaseResponseUtils.buildFail(SellResultCode.VC_OPEN_ACCOUNT_FAIL.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
 
     /**
      * 鐢ㄦ埛鐢宠閫�娆�

--
Gitblit v1.8.0