From 638e7deedf01e2fa276d38f2215003e43996c54f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 09 六月 2025 21:07:42 +0800
Subject: [PATCH] 开发中台接口对接

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/UserWithdrawalController.java |  336 ++-----------------------------------------------------
 1 files changed, 14 insertions(+), 322 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/UserWithdrawalController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/UserWithdrawalController.java
index feac4a0..9bd7bd8 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/UserWithdrawalController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/UserWithdrawalController.java
@@ -1,43 +1,35 @@
 package com.stylefeng.guns.modular.account.controller;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.stylefeng.guns.core.util.ToolUtil;
-import com.stylefeng.guns.modular.account.model.TBankNext;
-import com.stylefeng.guns.modular.account.req.UserWithdrawalReq;
-import com.stylefeng.guns.modular.account.service.*;
-import com.stylefeng.guns.modular.account.util.Base64Util;
-import com.stylefeng.guns.modular.cloudPayment.example.*;
-import com.stylefeng.guns.modular.cloudPayment.req.AllocationReq;
-import com.stylefeng.guns.modular.cloudPayment.req.BalanceAcctReq;
-import com.stylefeng.guns.modular.cloudPayment.req.UserBankAccountReq;
-import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.account.service.ElectronicLedgerService;
+import com.stylefeng.guns.modular.account.service.ITBankNextService;
+import com.stylefeng.guns.modular.account.service.UserBankAccountService;
+import com.stylefeng.guns.modular.account.service.UserWithdrawalService;
+import com.stylefeng.guns.modular.system.model.Company;
+import com.stylefeng.guns.modular.system.model.Driver;
+import com.stylefeng.guns.modular.system.model.ElectronicLedger;
+import com.stylefeng.guns.modular.system.model.UserWithdrawal;
 import com.stylefeng.guns.modular.system.service.IBankCardService;
 import com.stylefeng.guns.modular.system.service.ICompanyService;
 import com.stylefeng.guns.modular.system.service.IDriverService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
-import com.unionpay.upyzt.exception.InvalidRequestException;
-import com.unionpay.upyzt.exception.UpyztException;
-import com.unionpay.upyzt.param.FailureMsgParam;
-import com.unionpay.upyzt.resp.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -67,232 +59,6 @@
         this.bankNextService = bankNextService;
     }
 
-
-    @ResponseBody
-    @RequestMapping(value = "/addElectronicLedger", method = RequestMethod.POST)
-    @ApiOperation(value = "司机进件(提现账户设置)", tags = {"司机端-司机进件(提现账户设置)"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-    })
-    @Transactional(isolation = Isolation.READ_UNCOMMITTED,rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
-    public ResultUtil addElectronicLedger(UserWithdrawalReq userWithdrawalReq, HttpServletRequest request){
-        System.out.println(userWithdrawalReq);
-        if(StringUtils.hasLength(userWithdrawalReq.getBankName())){
-            userWithdrawalReq.setBankName(userWithdrawalReq.getBankName().replace("& #40;","("));
-            userWithdrawalReq.setBankName(userWithdrawalReq.getBankName().replace("& #41;",")"));
-        }
-
-        userWithdrawalReq.setCopy1(userWithdrawalReq.getCopy1().replaceAll(" ","+"));
-        userWithdrawalReq.setCopy2(userWithdrawalReq.getCopy2().replaceAll(" ","+"));
-        // 用户进件
-        // 获取当前用户id
-        Integer driverId = null;
-        try {
-            driverId = driverService.getUserIdFormRedis(request);
-        } catch (Exception e) {
-            return ResultUtil.error(e.getMessage());
-        }
-        if(null == driverId){
-            return ResultUtil.tokenErr();
-        }
-        // 查询司机
-//        Driver driver = driverService.selectById(id);
-
-        userWithdrawalReq.setOutRequestNo(ToolUtil.getRandomString(32));
-        UserWithdrawal userWithdrawal = new UserWithdrawal();
-        BeanUtils.copyProperties(userWithdrawalReq,userWithdrawal);
-
-        String password = userWithdrawal.getTransactionAuthorizationCode();
-        userWithdrawal.setOutRequestNo(ToolUtil.getRandomString(32));
-        try {
-            // 司机进件
-            CusApplicationResp cusApplicationResp = CusApplicationExample.create(userWithdrawalReq);
-            System.out.println(cusApplicationResp);
-            // 交易授权码加密,并保存司机进件信息
-            userWithdrawal.setTransactionAuthorizationCode(Base64Util.encode(userWithdrawal.getTransactionAuthorizationCode()));
-//            userWithdrawal.setUserId(userWithdrawal.getUserId());
-            userWithdrawal.setUserId(driverId);
-            userWithdrawal.setUserType(2);
-            userWithdrawal.setImgUrl(userWithdrawalReq.getIdCardFrontPicture());
-            userWithdrawal.setImgUrlOne(userWithdrawalReq.getIdCardReversePicture());
-            userWithdrawal.setIdCardFrontPicture(userWithdrawalReq.getCopy1());
-            userWithdrawal.setIdCardReversePicture(userWithdrawalReq.getCopy2());
-            userWithdrawalService.insert(userWithdrawal);
-
-            // 通过司机进件信息封装银行卡信息进行数据库存储
-            BankCard bankCard = userBankAccountService.userWithdrawalToBankCard(userWithdrawal);
-            bankCardService.insert(bankCard);
-            // 添加用户银行卡
-            UserBankAccount userBankAccount = userBankAccountService.userWithdrawalToUserBankAccount(userWithdrawal);
-            userBankAccountService.insert(userBankAccount);
-
-            // 判断是否开户成功
-            if("succeeded".equals(cusApplicationResp.getApplicationStatus())){
-
-                // 开户将司机进件返回的信息进行保存
-                userWithdrawalService.cusApplicationRespToUserWithdrawal(userWithdrawal,cusApplicationResp);
-                userWithdrawalService.updateById(userWithdrawal);
-                System.out.println("开户将司机进件返回的信息");
-                // 开户成功,开通电子账户,绑定账户
-                // 开通电子账簿
-//                BalanceAcctReq balanceAcctReq = electronicLedgerService.createBalanceAcctReq(userWithdrawal.getCusId(),password);
-//                BalanceAcctStoreResp balanceAcctStoreResp = BalanceAcctExample.create(balanceAcctReq);
-
-                // 开通电子账簿成功,封装实体
-                ElectronicLedger electronicLedger = electronicLedgerService.createElectronicLedger(cusApplicationResp,userWithdrawal,password);
-                System.out.println("开通电子账簿成功,封装实体11111");
-                electronicLedgerService.insert(electronicLedger);
-                System.out.println("开通电子账簿成功,封装实体22222");
-
-                // 绑定银行卡
-//                UserBankAccountReq userBankAccountReq = electronicLedgerService.createUserBankAccountReq(bankCard,userWithdrawal.getCusId(),userWithdrawal.getCode());
-//                SettleAcctResp settleAcctResp = SettleAcctExample.create(userBankAccountReq);
-
-                // 保存绑定银行卡返回信息
-//                bankCard.setVerifyStatus(settleAcctResp.getVerifyStatus());
-//                bankCard.setSettleAcctId(settleAcctResp.getSettleAcctId());
-//                bankCard.setAcctValidationFailureMsg(settleAcctResp.getAcctValidationFailureMsg());
-//                bankCard.setAcctValidationFinishedAt(settleAcctResp.getAcctValidationFinishedAt());
-//                bankCardService.updateById(bankCard);
-                return ResultUtil.success();
-            }
-            if("failed".equals(cusApplicationResp.getApplicationStatus())){
-                List<FailureMsgParam> failureMsgs = cusApplicationResp.getFailureMsgs();
-                if(failureMsgs != null && failureMsgs.size()>0){
-                    return ResultUtil.error(failureMsgs.get(0).getReason());
-                }
-            }
-            return ResultUtil.success();
-        }catch (UpyztException e){
-            e.printStackTrace();
-            if(e.getCode().equals("100101")){
-                return ResultUtil.error(e.getIssue());
-            }
-            return ResultUtil.error(e.getMessage());
-        } catch (Exception e){
-            return ResultUtil.error(e.getMessage());
-        }
-    }
-
-    @ResponseBody
-    @RequestMapping(value = "/updateElectronicLedgerInfo", method = RequestMethod.POST)
-    @ApiOperation(value = "司机修改进件信息", tags = {"司机端-司机修改进件信息"}, notes = "")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
-    })
-    @Transactional(isolation = Isolation.READ_UNCOMMITTED,rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
-    public ResultUtil updateElectronicLedgerInfo(String idCardFrontPicture,
-                                                 String idCardReversePicture,
-                                                 String certificateCode,
-                                                 String certificateName,
-                                                 String certificateExpireTime,
-                                                 String openAccountName,
-                                                 String bankCardCode,
-                                                 String bankCode,
-                                                 String bankBranchCode,
-                                                 String phone,
-                                                 String code,
-                                                 String copy1,
-                                                 String copy2,
-                                                 HttpServletRequest request){
-        try {
-            Integer driverId = driverService.getUserIdFormRedis(request);
-            if(null == driverId){
-                return ResultUtil.tokenErr();
-            }
-            Driver driver = driverService.selectById(driverId);
-            // TODO 司机进件信息
-            UserWithdrawal userWithdrawal1 = userWithdrawalService.selectOne(new EntityWrapper<UserWithdrawal>()
-                    .eq("phone",driver.getPhone())
-                    .last("LIMIT 1"));
-            if(Objects.isNull(userWithdrawal1)){
-                return ResultUtil.error("请先进行个人用户进件信息填写");
-            }
-            TBankNext bankNext = bankNextService.selectOne(new EntityWrapper<TBankNext>()
-                    .eq("bankCode", bankBranchCode)
-                    .last("LIMIT 1"));
-            UserWithdrawal userWithdrawal = new UserWithdrawal();
-            if(Objects.nonNull(bankNext)){
-                userWithdrawal1.setBankName(bankNext.getBankName());
-            }
-
-            BeanUtils.copyProperties(userWithdrawal1,userWithdrawal);
-
-            userWithdrawal.setIdCardFrontPicture(copy1);
-            userWithdrawal.setIdCardReversePicture(copy2);
-            userWithdrawal.setImgUrl(idCardFrontPicture);
-            userWithdrawal.setImgUrlOne(idCardReversePicture);
-            userWithdrawal.setCertificateCode(certificateCode);
-            userWithdrawal.setCertificateName(certificateName);
-            userWithdrawal.setCertificateExpireTime(certificateExpireTime);
-            userWithdrawal.setOpenAccountName(openAccountName);
-            userWithdrawal.setBankCardCode(bankCardCode);
-            userWithdrawal.setCusId(userWithdrawal1.getCusId());
-            userWithdrawal.setPhone(phone);
-            userWithdrawal.setBankCode(bankCode);
-            userWithdrawal.setBankBranchCode(bankBranchCode);
-            userWithdrawal.setCode(code);
-            System.out.println(userWithdrawal);
-            CusApplicationResp renew = CusApplicationExample.renew(userWithdrawal);
-            System.out.println("修改个人用户进件信息返回:{}"+renew);
-            if("succeeded".equals(renew.getApplicationStatus())){
-                System.out.println("修改成功");
-                userWithdrawal1.setIdCardFrontPicture(copy1);
-                userWithdrawal1.setIdCardReversePicture(copy2);
-                userWithdrawal1.setImgUrl(idCardFrontPicture);
-                userWithdrawal1.setImgUrlOne(idCardReversePicture);
-                userWithdrawal1.setCertificateCode(certificateCode);
-                userWithdrawal1.setCertificateName(certificateName);
-                userWithdrawal1.setCertificateExpireTime(certificateExpireTime);
-                userWithdrawal1.setOpenAccountName(openAccountName);
-                userWithdrawal1.setBankCardCode(bankCardCode);
-                userWithdrawal1.setBankCode(bankCode);
-                userWithdrawal1.setBankBranchCode(bankBranchCode);
-                userWithdrawal1.setPhone(phone);
-                userWithdrawalService.updateById(userWithdrawal1);
-                // 修改成功  查询该银行卡是否存在 如果不存在则添加
-                System.out.println("修改成功");
-                int count = bankCardService.selectCount(new EntityWrapper<BankCard>()
-                        .eq("code", bankCardCode)
-                        .eq("status",true));
-                System.out.println("查询该银行卡是否存在 如果不存在则添加");
-                if(count<1){
-                    System.out.println("该银行卡不存在则添加");
-                    BankCard bankCard = userBankAccountService.userWithdrawalToBankCard(userWithdrawal);
-                    bankCardService.insert(bankCard);
-                    System.out.println("该银行卡添加成功");
-                }
-                System.out.println("查询该银行卡账户是否存在");
-                int count1 = userBankAccountService.selectCount(new EntityWrapper<UserBankAccount>()
-                        .eq("bankCardCode", bankCardCode)
-                        .eq("userType", 1)
-                        .eq("status",true));
-                if(count1<1){
-                    // 添加用户银行卡
-                    System.out.println("该银行卡账户不存在则添加");
-                    UserBankAccount userBankAccount = userBankAccountService.userWithdrawalToUserBankAccount(userWithdrawal);
-                    userBankAccountService.insert(userBankAccount);
-                    System.out.println("该银行卡账户添加成功");
-                }
-            }
-            if("failed".equals(renew.getApplicationStatus())){
-                List<FailureMsgParam> failureMsgs = renew.getFailureMsgs();
-                if(failureMsgs != null && failureMsgs.size()>0){
-                    return ResultUtil.error(failureMsgs.get(0).getReason());
-                }
-            }
-            return ResultUtil.success();
-        }catch (UpyztException e){
-            e.printStackTrace();
-            if(e.getCode().equals("100101")){
-                return ResultUtil.error(e.getIssue());
-            }
-            return ResultUtil.error(e.getMessage());
-        } catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.error(e.getMessage());
-        }
-    }
 
 
     @ResponseBody
@@ -415,22 +181,7 @@
                 .eq("userId", company.getId())
                 .eq("userType", 3)
                 .last("LIMIT 1"));
-        try {
-            // 进行平台分账到司机电子账簿
-            System.out.println("平台分账到司机电子账簿=========");
-            AllocationReq allocationReq = userWithdrawalService.createAllocationReq(userWithdrawal.getBalanceAcctId(), electronicLedger.getBalanceAcctId(), amount,userWithdrawal.getTransactionAuthorizationCode());
-            AllocationResp allocationResp = AllocationExample.create(allocationReq);
-            System.out.println("平台分账到司机电子账簿完成=========:{}"+allocationResp);
-
-            // 用户电子账簿进行提现操作
-            WithdrawalResp withdrawalResp = WithdrawalExample.create(userWithdrawalService.createWithdrawalReq(userWithdrawal.getBalanceAcctId(), amount, userWithdrawal.getTransactionAuthorizationCode(), bankAcctNo));
-            System.out.println("司机电子账簿提现完成=========:{}"+withdrawalResp);
-            return ResultUtil.success();
-        }catch (Exception e){
-            System.out.println("司机提现失败=========:{}"+e.getMessage());
-            e.printStackTrace();
-            return ResultUtil.error(e.getMessage());
-        }
+        return ResultUtil.success();
     }
 
     @ResponseBody
@@ -440,68 +191,9 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
     public ResultUtil querySettledAmount(HttpServletRequest request){
-        BalanceAcctListResp balanceAcctListResp = null;
-//        ElectronicLedger electronicLedger = null;
-        UserWithdrawal userWithdrawal = null;
-        try {
-            Integer driverId = driverService.getUserIdFormRedis(request);
-            Driver driver = driverService.selectById(driverId);
-            // 通过司机id查询开户信息,
-            // 司机进件信息
-//            electronicLedger = electronicLedgerService.selectOne(new EntityWrapper<ElectronicLedger>()
-//                    .eq("userId", driverId)
-//                    .eq("userType", 2));
-            userWithdrawal = userWithdrawalService.selectOne(new EntityWrapper<UserWithdrawal>()
-                    .eq("phone", driver.getPhone())
-                    .eq("userType", 2)
-                    .eq("applicationStatus","succeeded")
-                    .last("LIMIT 1"));
-            if(Objects.isNull(userWithdrawal)){
-                return ResultUtil.error("该司机开户信息为空");
-            }
-            BalanceAcctReq balanceAcctReq = new BalanceAcctReq();
-            balanceAcctReq.setCusId(userWithdrawal.getCusId());
-            balanceAcctListResp = BalanceAcctExample.retrieveByUserId(balanceAcctReq);
-            System.err.println(balanceAcctListResp);
-        } catch (Exception e) {
-            log.error("电子账簿可提现余额查询失败:{}",e.getMessage());
-            e.printStackTrace();
-        }
-        if(Objects.isNull(balanceAcctListResp)){
-            log.error("电子账簿可提现余额查询失败");
-            return ResultUtil.error("电子账簿可提现余额查询失败");
-        }
-        log.info("电子账簿可提现余额查询完成=========:{}",balanceAcctListResp);
-        List<BalanceAcctItem> balanceAccts = balanceAcctListResp.getBalanceAccts();
-        if(CollectionUtils.isEmpty(balanceAccts)){
-            log.error("电子账簿可提现余额查询失败");
-            return ResultUtil.error("电子账簿可提现余额查询失败");
-        }
-        for (BalanceAcctItem balanceAcct : balanceAccts) {
-            if(userWithdrawal.getBalanceAcctId().equals(balanceAcct.getBalanceAcctId())){
-                return ResultUtil.success(new BigDecimal(balanceAcct.getSettledAmount()).divide(new BigDecimal(100)));
-            }
-        }
+    
         return ResultUtil.success(BigDecimal.ZERO);
     }
 
-
-    @ResponseBody
-    @RequestMapping(value = "/uploadImg", method = RequestMethod.POST)
-    @ApiOperation(value = "进件上传图片", tags = {"司机端-进件上传图片"}, notes = "")
-    @ApiImplicitParams({
-    })
-    @Transactional(isolation = Isolation.READ_UNCOMMITTED,rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
-    public ResultUtil uploadImg(MultipartFile multipartFile, HttpServletRequest request){
-        try {
-            MediaResp mediaResp = MediaExample.uploadImage(multipartFile);
-            System.out.println(mediaResp);
-            String mediaId = mediaResp.getMediaId();
-            return ResultUtil.success(mediaId);
-        }catch (Exception e){
-            e.printStackTrace();
-            return ResultUtil.error(e.getMessage());
-        }
-    }
 
 }

--
Gitblit v1.7.1