Kaynağa Gözat

新增开户接口

xucaiqin 2 yıl önce
ebeveyn
işleme
8c0a2e7672

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

@@ -29,7 +29,7 @@ public class WalletController {
      * @return
      * @return
      */
      */
     @PostMapping("createUser")
     @PostMapping("createUser")
-    public HttpResult createUser(CreateUserReq createUserReq) {
+    public HttpResult createUser(@RequestBody @Valid CreateUserReq createUserReq) {
         return HttpResult.ok(walletService.createUser(createUserReq));
         return HttpResult.ok(walletService.createUser(createUserReq));
     }
     }
 
 

+ 3 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/wallet/MemberCreate.java

@@ -22,6 +22,9 @@ public class MemberCreate implements Serializable {
     private String legalName;
     private String legalName;
     @JSONField(name = "legalPhone")
     @JSONField(name = "legalPhone")
     private String legalPhone;
     private String legalPhone;
+    /**
+     * 法人身份证号
+     */
     @JSONField(name = "legalIds")
     @JSONField(name = "legalIds")
     private String legalIds;
     private String legalIds;
     @JSONField(name = "accountNo")
     @JSONField(name = "accountNo")

+ 9 - 0
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpWalletRelationService.java

@@ -2,6 +2,7 @@ package com.sckw.payment.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.model.constant.Global;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.payment.dao.KwpWalletRelationMapper;
 import com.sckw.payment.dao.KwpWalletRelationMapper;
@@ -97,5 +98,13 @@ public class KwpWalletRelationService {
         relationMapper.insert(kwpWalletRelation);
         relationMapper.insert(kwpWalletRelation);
     }
     }
 
 
+    public KwpWalletRelation query(WalletRelationDto walletRelationDto) {
+        LambdaQueryWrapper<KwpWalletRelation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwpWalletRelation::getEntId, walletRelationDto.entId())
+                .eq(KwpWalletRelation::getUid, walletRelationDto.uid())
+                .eq(KwpWalletRelation::getDelFlag, Global.UN_DELETED).last("limit 1");
+        return relationMapper.selectOne(wrapper);
+    }
+
 
 
 }
 }

+ 24 - 14
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/WalletService.java

@@ -20,11 +20,13 @@ import com.sckw.payment.dao.KwpWalletRefundMapper;
 import com.sckw.payment.dao.KwpWalletTransferMapper;
 import com.sckw.payment.dao.KwpWalletTransferMapper;
 import com.sckw.payment.job.AsyncPool;
 import com.sckw.payment.job.AsyncPool;
 import com.sckw.payment.model.KwpWalletRefund;
 import com.sckw.payment.model.KwpWalletRefund;
+import com.sckw.payment.model.KwpWalletRelation;
 import com.sckw.payment.model.KwpWalletTransfer;
 import com.sckw.payment.model.KwpWalletTransfer;
 import com.sckw.payment.model.constant.RefundEnum;
 import com.sckw.payment.model.constant.RefundEnum;
 import com.sckw.payment.model.constant.TransferEnum;
 import com.sckw.payment.model.constant.TransferEnum;
 import com.sckw.payment.model.constant.WalletChannelEnum;
 import com.sckw.payment.model.constant.WalletChannelEnum;
 import com.sckw.payment.model.dto.WalletInfoDto;
 import com.sckw.payment.model.dto.WalletInfoDto;
+import com.sckw.payment.model.dto.WalletRelationDto;
 import com.sckw.payment.model.dto.common.BusinessNo;
 import com.sckw.payment.model.dto.common.BusinessNo;
 import com.sckw.payment.model.dto.page.CashPage;
 import com.sckw.payment.model.dto.page.CashPage;
 import com.sckw.payment.model.dto.page.PrePayWalletPage;
 import com.sckw.payment.model.dto.page.PrePayWalletPage;
@@ -36,6 +38,7 @@ import com.sckw.redis.config.RedisLockUtil;
 import com.sckw.redis.constant.RedisLockKey;
 import com.sckw.redis.constant.RedisLockKey;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.EntCertificateResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -163,14 +166,14 @@ public class WalletService {
         } else {
         } else {
             wrapper.eq(KwpWalletRefund::getUid, prePayWallet.getUid()).eq(KwpWalletRefund::getFilter, prePayWallet.getFilter());
             wrapper.eq(KwpWalletRefund::getUid, prePayWallet.getUid()).eq(KwpWalletRefund::getFilter, prePayWallet.getFilter());
         }
         }
-        wrapper.eq(KwpWalletRefund::getChannel, prePayWallet.getChannel()).orderByDesc(KwpWalletRefund::getCreateTime).last("limit 1");
+        wrapper.eq(KwpWalletRefund::getChannel, prePayWallet.getChannel())
+                .eq(KwpWalletRefund::getStatus, RefundEnum.REFUNDING.getStatus())
+                .orderByDesc(KwpWalletRefund::getCreateTime).last("limit 1");
         KwpWalletRefund kwpWalletRefund = kwpWalletRefundMapper.selectOne(wrapper);
         KwpWalletRefund kwpWalletRefund = kwpWalletRefundMapper.selectOne(wrapper);
         if (Objects.nonNull(kwpWalletRefund)) {
         if (Objects.nonNull(kwpWalletRefund)) {
             prePayWalletVo.setRefundApMoney(df.format(kwpWalletRefund.getActualMoney()));
             prePayWalletVo.setRefundApMoney(df.format(kwpWalletRefund.getActualMoney()));
-            prePayWalletVo.setAction(RefundEnum.getDesc(kwpWalletRefund.getStatus()));
         } else {
         } else {
             prePayWalletVo.setRefundApMoney("0.00");
             prePayWalletVo.setRefundApMoney("0.00");
-            prePayWalletVo.setAction("");
         }
         }
     }
     }
 
 
@@ -1125,11 +1128,6 @@ public class WalletService {
      */
      */
     public Object createUser(CreateUserReq createUserReq) {
     public Object createUser(CreateUserReq createUserReq) {
         Long entId = LoginUserHolder.getEntId();
         Long entId = LoginUserHolder.getEntId();
-        String uid = walletRelationService.getRelation(entId);
-        if (StringUtils.isBlank(uid)) {
-            throw new BusinessException("您暂未开通电子钱包");
-        }
-        //字典
         ChannelEnum channelEnum = ChannelEnum.getByChannel(createUserReq.getChannel());
         ChannelEnum channelEnum = ChannelEnum.getByChannel(createUserReq.getChannel());
         if (Objects.isNull(channelEnum)) {
         if (Objects.isNull(channelEnum)) {
             throw new BusinessException("支付通道不存在");
             throw new BusinessException("支付通道不存在");
@@ -1139,22 +1137,34 @@ public class WalletService {
             throw new BusinessException("未找到企业信息");
             throw new BusinessException("未找到企业信息");
         }
         }
         MemberCreate memberCreate = new MemberCreate();
         MemberCreate memberCreate = new MemberCreate();
+        List<EntCertificateResDto> certificateInfo = entCacheResDto.getCertificateInfo();
+        Map<Integer, String> certMap = new HashMap<>();
+        if (!CollectionUtils.isEmpty(certificateInfo)) {
+            certMap = certificateInfo.stream().collect(Collectors.toMap(EntCertificateResDto::getType, EntCertificateResDto::getCode, (a, b) -> a));
+        }
         memberCreate.setCompanyName(entCacheResDto.getFirmName());
         memberCreate.setCompanyName(entCacheResDto.getFirmName());
-        memberCreate.setLicense(entCacheResDto.getBusiness());
-        memberCreate.setLegalName("");
-        memberCreate.setLegalPhone("");
-        memberCreate.setLegalIds("");
+        memberCreate.setLicense(certMap.get(3));
+        memberCreate.setLegalName(entCacheResDto.getLegalName());
+        memberCreate.setLegalPhone(entCacheResDto.getLegalPhone());
+        //法人身份证号
+        memberCreate.setLegalIds(certMap.get(2));
         memberCreate.setAccountNo("");
         memberCreate.setAccountNo("");
         memberCreate.setParentBankName("");
         memberCreate.setParentBankName("");
         memberCreate.setUnionBank("");
         memberCreate.setUnionBank("");
         memberCreate.setBankName("");
         memberCreate.setBankName("");
-        memberCreate.setChannel("");
+        memberCreate.setChannel(createUserReq.getChannel());
         //开通用户
         //开通用户
         R<MemberRes> memberResR = payCenterService.memberIndex(memberCreate);
         R<MemberRes> memberResR = payCenterService.memberIndex(memberCreate);
         if (!memberResR.getStatus()) {
         if (!memberResR.getStatus()) {
             throw new BusinessException(StringUtils.isNotBlank(memberResR.getMsg()) ? memberResR.getMsg() : "开户失败");
             throw new BusinessException(StringUtils.isNotBlank(memberResR.getMsg()) ? memberResR.getMsg() : "开户失败");
         }
         }
-        return memberResR.getData();
+        MemberRes data = memberResR.getData();
+        WalletRelationDto walletRelationDto = new WalletRelationDto(entId, data.getUid());
+        KwpWalletRelation query = walletRelationService.query(walletRelationDto);
+        if (Objects.isNull(query)) {
+            walletRelationService.save(walletRelationDto);
+        }
+        return data;
     }
     }
 
 
     /**
     /**