Просмотр исходного кода

电子钱包 新增会员注册信息接口

xucaiqin 2 лет назад
Родитель
Сommit
187c2277d9

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

@@ -9,6 +9,7 @@ import com.sckw.payment.model.vo.req.page.RefundPage;
 import com.sckw.payment.service.WalletService;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -37,6 +38,12 @@ public class WalletController {
         return HttpResult.ok(walletService.createUser(createUserReq));
     }
 
+    @GetMapping("userInfo")
+    public HttpResult userInfo(@NotBlank(message = "uid不能为空") @RequestParam("uid") String uid,
+                               @NotBlank(message = "channel不能为空")@RequestParam("channel") String channel) {
+        return HttpResult.ok(walletService.userInfo(uid,channel));
+    }
+
     /**
      * 钱包总览信息
      *

+ 15 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/PayCenterService.java

@@ -194,6 +194,21 @@ public class PayCenterService {
         });
     }
 
+    /**
+     * 会员注册信息
+     *
+     * @param uid
+     * @return
+     */
+    public R<JSONObject> user(String uid,ChannelEnum channelEnum) {
+        String sync = getHttp(PayCenterEnum.USER, new HashMap<>() {{
+            put("uid", uid);
+            put("channel", channelEnum);
+        }});
+        return JSONObject.parseObject(sync, new TypeReference<>() {
+        });
+    }
+
     /**
      * 钱包清单
      *

+ 33 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java

@@ -24,6 +24,7 @@ import com.sckw.payment.job.AsyncPool;
 import com.sckw.payment.model.KwpWalletRefund;
 import com.sckw.payment.model.KwpWalletRelation;
 import com.sckw.payment.model.KwpWalletTransfer;
+import com.sckw.payment.model.constant.PrePayEnum;
 import com.sckw.payment.model.constant.RefundEnum;
 import com.sckw.payment.model.constant.TransferEnum;
 import com.sckw.payment.model.constant.WalletChannelEnum;
@@ -74,6 +75,7 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public class WalletService {
     private final PayCenterService payCenterService;
+    private final KwpWalletPrepayService kwpWalletPrepayService;
     private final KwpWalletRelationService walletRelationService;
     private final WalletOrderService walletOrderService;
     private final KwpWalletRefundMapper kwpWalletRefundMapper;
@@ -992,6 +994,9 @@ public class WalletService {
         if (!orderR.getStatus()) {
             throw new BusinessException(StringUtils.isNotBlank(orderR.getMsg()) ? orderR.getMsg() : "预付失败");
         }
+        if (Objects.nonNull(orderR.getData())) {
+            kwpWalletPrepayService.savePrepay(orderR.getData().getOrderNo(), PrePayEnum.ADD);
+        }
         return orderR.getData();
     }
 
@@ -1014,6 +1019,9 @@ public class WalletService {
         if (!orderR.getStatus()) {
             throw new BusinessException(StringUtils.isNotBlank(orderR.getMsg()) ? orderR.getMsg() : "预付失败");
         }
+        if (Objects.nonNull(orderR.getData())) {
+            kwpWalletPrepayService.savePrepay(orderR.getData().getOrderNo(), PrePayEnum.APPEND);
+        }
         return orderR.getData();
     }
 
@@ -1613,8 +1621,9 @@ public class WalletService {
                     prePayDetailVo.setUidName(getFirmName(moneyPage.getUid()));
                     prePayDetailVo.setFilter(moneyPage.getFilter());
                     prePayDetailVo.setFilterName(getFirmName(moneyPage.getFilter()));
-                    prePayDetailVo.setStatus(a.getStatus());
-                    prePayDetailVo.setStatusLabel(a.getStatusLabel());
+                    Integer action = kwpWalletPrepayService.getAction(a.getOrderNo());
+                    prePayDetailVo.setStatus(action);
+                    prePayDetailVo.setStatusLabel(PrePayEnum.getByStatus(action));
                     prePayDetailVo.setMoney(prePayDetailVo.smallMoney(a.getMoney()));
                     prePayDetailVo.setRemark(a.getRemarks());
                     prePayDetailVo.setCreateTime(a.getCreateTime());
@@ -1656,8 +1665,9 @@ public class WalletService {
                     prePayDetailVo.setUidName(getFirmName(moneyPage.getUid()));
                     prePayDetailVo.setFilter(moneyPage.getFilter());
                     prePayDetailVo.setFilterName(getFirmName(moneyPage.getFilter()));
-                    prePayDetailVo.setStatus(a.getStatus());
-                    prePayDetailVo.setStatusLabel(a.getStatusLabel());
+                    Integer action = kwpWalletPrepayService.getAction(a.getOrderNo());
+                    prePayDetailVo.setStatus(action);
+                    prePayDetailVo.setStatusLabel(PrePayEnum.getByStatus(action));
                     prePayDetailVo.setMoney(prePayDetailVo.smallMoney(a.getMoney()));
                     prePayDetailVo.setRemark(a.getRemarks());
                     prePayDetailVo.setCreateTime(a.getCreateTime());
@@ -1669,6 +1679,25 @@ public class WalletService {
         return new PageRes<>(moneyPage.getPage(), moneyPage.getPageSize(), 0, 0, new ArrayList<>());
     }
 
+    /**
+     * 会员注册信息
+     *
+     * @param uid
+     * @param channel
+     * @return
+     */
+    public Object userInfo(String uid, String channel) {
+        ChannelEnum channelEnum = ChannelEnum.getByChannel(channel);
+        if (Objects.isNull(channelEnum)) {
+            throw new BusinessException("支付通道异常");
+        }
+        R<JSONObject> user = payCenterService.user(uid, channelEnum);
+        if (!user.getStatus()) {
+            throw new BusinessException(StringUtils.isNotBlank(user.getMsg()) ? user.getMsg() : "会员信息不存在");
+        }
+        return user.getData();
+    }
+
     /**
      * 退款处理
      *