From d25dedf68957b7024b17e0cb573725e016fdab8a Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 23 十月 2024 20:23:17 +0800
Subject: [PATCH] 2024-10-23 朱宝民 微信支付信息初始化迁移

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java
index 3c8baf4..b8dd640 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java
@@ -9,9 +9,10 @@
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
 import com.dy.pipIrrWechat.result.WechatResultCode;
 import com.dy.pipIrrWechat.util.PayHelper;
+import com.dy.pipIrrWechat.virtualCard.dto.DtoCancel;
 import com.dy.pipIrrWechat.virtualCard.dto.DtoRegist;
-import com.dy.pipIrrWechat.virtualCard.dto.DtoVcRecharge;
 import com.dy.pipIrrWechat.virtualCard.enums.LastOperateENUM;
+import com.dy.pipIrrWechat.virtualCard.qo.QoVcRecharge;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
@@ -87,6 +88,7 @@
         seVirtualCard.setVcNum(Long.parseLong(vcNum));
         seVirtualCard.setClientId(clientId);
         seVirtualCard.setMoney(0d);
+        seVirtualCard.setState((byte)1);
         seVirtualCard.setLastOperate(LastOperateENUM.OPEN_ACCOUNT.getCode());
         seVirtualCard.setLastOperateTime(new Date());
         seVirtualCard.setInUse((byte) 0);
@@ -101,6 +103,49 @@
         seVcOperate.setVcId(vcId);
         seVcOperate.setClientId(clientId);
         seVcOperate.setOperateType(LastOperateENUM.OPEN_ACCOUNT.getCode());
+        seVcOperate.setOperator(clientId);
+        seVcOperate.setOperateTime(new Date());
+        Long vcOperateId = virtualCardSv.insertVcOperate(seVcOperate);
+        if(vcOperateId == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.VC_OPEN_ACCOUNT_FAIL.getMessage());
+        }
+
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 鏍规嵁铏氭嫙鍗D娉ㄩ攢铏氭嫙鍗�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "cancel")
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResponse<Boolean> cancelVC(@RequestBody @Valid DtoCancel po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        Long clientId = po.getClientId();
+        Long vcId = po.getVcId();
+
+        // 鏍规嵁鍐滄埛ID鍙婅櫄鎷熷崱Id鍒ゆ柇鏄惁瀛樺湪姝e父鐘舵�侊紙鍙敞閿�锛夌殑铏氭嫙鍗�
+        SeVirtualCard seVirtualCard = virtualCardSv.getVcByClientIdAndVcId(clientId, vcId);
+        if(seVirtualCard == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.NO_VC_FIT_THE_BILL.getMessage());
+        }
+
+        // 娉ㄩ攢铏氭嫙鍗�
+        Integer rec = virtualCardSv.cancelVc(clientId, vcId);
+        if(rec == null || rec == 0) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.VC_CANCEL_FAIL.getMessage());
+        }
+
+        // 鐢熸垚铏氭嫙鍗℃搷浣滆褰曪紝娉ㄥ唽铏氭嫙鍗℃搷浣滀汉涓哄啘鎴�
+        SeVcOperate seVcOperate = new SeVcOperate();
+        seVcOperate.setVcId(vcId);
+        seVcOperate.setClientId(clientId);
+        seVcOperate.setOperateType(LastOperateENUM.CLOSING_ACCOUNT.getCode());
         seVcOperate.setOperator(clientId);
         seVcOperate.setOperateTime(new Date());
         Long vcOperateId = virtualCardSv.insertVcOperate(seVcOperate);
@@ -271,8 +316,12 @@
      * @return
      */
     @GetMapping(path = "/getVcRechargeRecords")
-    public BaseResponse<QueryResultVo<List<VoVcRecharge>>> getVcRechargeRecords(DtoVcRecharge dtoVcRecharge){
+    public BaseResponse<QueryResultVo<List<VoVcRecharge>>> getVcRechargeRecords(QoVcRecharge dtoVcRecharge){
         try {
+            if(dtoVcRecharge.getVcId() == null) {
+                return BaseResponseUtils.buildErrorMsg("铏氭嫙鍗′笉鑳戒负绌�");
+            }
+
             QueryResultVo<List<VoVcRecharge>> res = virtualCardSv.getVcRechargeRecords(dtoVcRecharge);
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {

--
Gitblit v1.8.0