From 9fb370afff71f4d5659d8904e8751479280d5b48 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 07 四月 2025 09:26:50 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardCtrl.java | 89 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 85 insertions(+), 4 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 727175d..3e6b1fd 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
@@ -3,18 +3,22 @@
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.pojoSe.SeVcOperate;
import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
+import com.dy.pipIrrGlobal.voSe.VoRechargeProfile;
import com.dy.pipIrrGlobal.voSe.VoVcRecharge;
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;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -48,6 +52,7 @@
* @return
*/
@PostMapping(path = "add_vc")
+ @Transactional(rollbackFor = Exception.class)
public BaseResponse<Boolean> addVC(@RequestBody @Valid DtoRegist po, BindingResult bindingResult) {
if(bindingResult != null && bindingResult.hasErrors()){
return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
@@ -79,18 +84,76 @@
vcNum = areaCode + "00001";
}
+ // 鐢熸垚铏氭嫙鍗¤褰�
SeVirtualCard seVirtualCard = new SeVirtualCard();
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);
seVirtualCard.setCreateTime(new Date());
- Long rec = virtualCardSv.insertVirtualCard(seVirtualCard);
- if(rec == null) {
+ Long vcId = virtualCardSv.insertVirtualCard(seVirtualCard);
+ if(vcId == null) {
return BaseResponseUtils.buildErrorMsg(WechatResultCode.VC_OPEN_ACCOUNT_FAIL.getMessage());
}
+
+ // 鐢熸垚铏氭嫙鍗℃搷浣滆褰曪紝娉ㄥ唽铏氭嫙鍗℃搷浣滀汉涓哄啘鎴�
+ SeVcOperate seVcOperate = new SeVcOperate();
+ 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);
+ if(vcOperateId == null) {
+ return BaseResponseUtils.buildErrorMsg(WechatResultCode.VC_OPEN_ACCOUNT_FAIL.getMessage());
+ }
+
return BaseResponseUtils.buildSuccess(true) ;
}
@@ -254,8 +317,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) {
@@ -263,4 +330,18 @@
return BaseResponseUtils.buildException(e.getMessage()) ;
}
}
+
+ /**
+ * 鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃�
+ * @return
+ */
+ @GetMapping(path = "/gerRechargeProfiles")
+ public BaseResponse<List<VoRechargeProfile>> gerRechargeProfiles(){
+ try {
+ return BaseResponseUtils.buildSuccess(virtualCardSv.gerRechargeProfiles());
+ } catch (Exception e) {
+ log.error("鑾峰彇铏氭嫙鍗″父鐢ㄥ厖鍊奸噾棰濋厤缃紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
}
--
Gitblit v1.8.0