Browse Source

预付追加校验

xucaiqin 2 years ago
parent
commit
2cb8638cee

+ 10 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/controller/WalletController.java

@@ -204,6 +204,16 @@ public class WalletController {
         return HttpResult.ok(walletService.addPrePay(prePay));
     }
 
+    /**
+     * 预付追加校验
+     *
+     * @param appendPayCheck
+     * @return
+     */
+    @PostMapping("appendCheck")
+    public HttpResult prePayAppendCheck(@RequestBody @Valid AppendPayCheck appendPayCheck) {
+        return HttpResult.ok(walletService.appendCheck(appendPayCheck));
+    }
     /**
      * 预付追加
      *

+ 23 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/AppendPayCheck.java

@@ -0,0 +1,23 @@
+package com.sckw.payment.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 预付钱包可用余额校验
+ *
+ * @author xucaiqin
+ * @date 2023-08-29 09:14:04
+ */
+@Getter
+@Setter
+public class AppendPayCheck {
+    /**
+     * 支付通道 huifu
+     */
+    @NotBlank(message = "支付通道不能为空")
+    private String channel;
+    @NotBlank(message = "合作企业不能为空")
+    private String filter;
+}

+ 30 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java

@@ -1077,6 +1077,36 @@ public class WalletService {
         return walletInfoDto;
     }
 
+    public Object appendCheck(AppendPayCheck appendPayCheck) {
+        String uid = walletRelationService.getRelation(LoginUserHolder.getEntId());
+        if (StringUtils.isBlank(uid)) {
+            throw new BusinessException("您暂未开通电子钱包");
+        }
+        //字典
+        ChannelEnum channelEnum = ChannelEnum.getByChannel(appendPayCheck.getChannel());
+        if (Objects.isNull(channelEnum)) {
+            throw new BusinessException("支付通道不存在");
+        }
+        R<WalletInfo> walletInfoR = payCenterService.totalInfo(uid, channelEnum, appendPayCheck.getFilter());
+        if (!walletInfoR.getStatus()) {
+            throw new BusinessException(StringUtils.isNotBlank(walletInfoR.getMsg()) ? walletInfoR.getMsg() : "未找到交易方");
+        }
+        WalletInfo data = walletInfoR.getData();
+        if (Objects.isNull(data)) {
+            throw new BusinessException("不存在交易");
+        }
+        WalletInfoDto walletInfoDto = new WalletInfoDto();
+        walletInfoDto.setOpenFlag(true);
+        walletInfoDto.setName(data.getName());
+        walletInfoDto.setWalletName(data.getWalletName());
+        walletInfoDto.setChannel(data.getChannel());
+        walletInfoDto.setStatus(data.getStatus());
+        walletInfoDto.setApMoney(walletInfoDto.smallMoney(data.getApMoney()));
+        walletInfoDto.setWdMoney(walletInfoDto.smallMoney(data.getWdMoney()));
+        walletInfoDto.setMoney(walletInfoDto.smallMoney(data.getMoney()));
+        return walletInfoDto;
+    }
+
     /**
      * 退款处理
      *