| UserJYXTravel/guns-admin/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/ElectronicLedgerController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/config/HuiFuPropertiesConfiguration.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/properties/HuiFuProperties.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/req/UserBasicDataReq.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
UserJYXTravel/guns-admin/pom.xml
@@ -232,7 +232,12 @@ <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> </dependency>--> <!--斗拱sdk--> <dependency> <groupId>com.huifu.bspay.sdk</groupId> <artifactId>dg-java-sdk</artifactId> <version>3.0.31</version> </dependency> </dependencies> UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/account/controller/ElectronicLedgerController.java
@@ -17,6 +17,7 @@ import com.stylefeng.guns.modular.cloudPayment.example.*; import com.stylefeng.guns.modular.cloudPayment.req.BalanceAcctReq; import com.stylefeng.guns.modular.cloudPayment.req.UserBankAccountReq; import com.stylefeng.guns.modular.huifu.biz.DouGongBasicDataBiz; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.IBankCardService; import com.stylefeng.guns.modular.system.service.ICompanyService; @@ -47,6 +48,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Objects; @Api(tags = "用户进件(提现操作)/创建电子账簿") @@ -66,6 +68,8 @@ private IUserService userService; @Autowired private IBankCardService bankCardService; @Autowired private DouGongBasicDataBiz douGongBasicDataBiz; @ResponseBody @RequestMapping(value = "/addElectronicLedger", method = RequestMethod.POST) @@ -105,96 +109,87 @@ System.out.println("验证码:"+userWithdrawalReq.getCode()); userWithdrawalReq.setCopy1(userWithdrawalReq.getCopy1().replaceAll(" ","+")); userWithdrawalReq.setCopy2(userWithdrawalReq.getCopy2().replaceAll(" ","+")); // 用户进件 CusApplicationResp cusApplicationResp = CusApplicationExample.create(userWithdrawalReq); System.out.println("进件状态:"+cusApplicationResp); if("succeeded".equals(cusApplicationResp.getApplicationStatus())) { userWithdrawal.setTransactionAuthorizationCode(Base64Util.encode(password)); userWithdrawal.setUserType(1); userWithdrawal.setUserId(id); userWithdrawal.setImgUrl(userWithdrawalReq.getIdCardFrontPicture()); userWithdrawal.setImgUrlOne(userWithdrawalReq.getIdCardReversePicture()); userWithdrawal.setIdCardFrontPicture(userWithdrawalReq.getCopy1()); userWithdrawal.setIdCardReversePicture(userWithdrawalReq.getCopy2()); userWithdrawalService.insert(userWithdrawal); UserWithdrawal userWithdrawal1 = new UserWithdrawal(); userWithdrawal1.setId(userWithdrawal.getId()); BeanUtils.copyProperties(cusApplicationResp, userWithdrawal1); userWithdrawalService.updateById(userWithdrawal1); // 开通电子账簿 BalanceAcctReq balanceAcctReq = new BalanceAcctReq(); balanceAcctReq.setCusId(userWithdrawal1.getCusId()); balanceAcctReq.setOutRequestNo(ToolUtil.getRandomString(32)); balanceAcctReq.setPassword(password); ElectronicLedger electronicLedger = new ElectronicLedger(); electronicLedger.setBalanceAcctId(cusApplicationResp.getBalanceAcctId()); electronicLedger.setCreateTime(new Date()); electronicLedger.setCusId(cusApplicationResp.getCusId()); electronicLedger.setOutRequestNo(cusApplicationResp.getOutRequestNo()); electronicLedger.setUserId(userWithdrawal.getUserId()); electronicLedger.setPassword(SecureUtil.md5(password)); electronicLedger.setRelAcctNo(cusApplicationResp.getRelAcctNo()); electronicLedger.setUserType(1); electronicLedgerService.insert(electronicLedger); // 绑卡 存卡 UserBankAccount userBankAccount = new UserBankAccount(); userBankAccount.setBankAcctType("1"); userBankAccount.setOutRequestNo(ToolUtil.getRandomString(32)); userBankAccount.setUserType(1); userBankAccount.setCreateTime(new Date()); userBankAccount.setBankCardCode(userWithdrawal.getBankCardCode()); // TODO 页面没有输入地方 需要查询 userBankAccount.setBankCode(userWithdrawal.getBankCode()); // TODO 行联号 userBankAccount.setBankBranchCode(userWithdrawal.getBankBranchCode()); userBankAccount.setPhone(userWithdrawal.getPhone()); userBankAccount.setUserId(userWithdrawal.getUserId()); userBankAccount.setBankName(userWithdrawal.getBankName()); userBankAccount.setOpenAccountName(userWithdrawalReq.getOpenAccountName()); int count = userBankAccountService.selectCount(new EntityWrapper<UserBankAccount>() .eq("bankCardCode", userWithdrawalReq.getBankCardCode()).eq("phone",userWithdrawalReq.getPhone()).eq("status",1)); if(count<1){ userBankAccountService.insert(userBankAccount); } BankCard bankCard = new BankCard(); bankCard.setDriverId(userWithdrawal.getUserId()); bankCard.setBankAcctType("1"); bankCard.setOutRequestNo(ToolUtil.getRandomString(32)); bankCard.setInsertTime(new Date()); bankCard.setCode(userWithdrawal.getBankCardCode()); bankCard.setBankCode(userWithdrawal.getBankCode()); bankCard.setBankBranchCode(userWithdrawal.getBankBranchCode()); bankCard.setBank(userWithdrawal.getBankName()); bankCard.setPhone(userWithdrawal.getPhone()); bankCard.setName(userWithdrawal.getOpenAccountName()); bankCard.setIfDefault(true); bankCardService.insert(bankCard); UserBankAccountReq userBankAccountReq = new UserBankAccountReq(); BeanUtils.copyProperties(userBankAccount, userBankAccountReq); System.err.println(userWithdrawalReq.getCode()); userBankAccountReq.setCusId(cusApplicationResp.getCusId()); userBankAccountReq.setCode(userWithdrawalReq.getCode()); return ResultUtil.success(); // 用户进件 TODO Map<String, Object> resultMap = douGongBasicDataBiz.userBasicDataIndv(userWithdrawalReq); String respCode = (String) resultMap.get("resp_code"); //CusApplicationResp cusApplicationResp = CusApplicationExample.create(userWithdrawalReq); if(!"200".equals(respCode)) { return ResultUtil.error((String) resultMap.get("resp_desc")); } if("failed".equals(cusApplicationResp.getApplicationStatus())){ List<FailureMsgParam> failureMsgs = cusApplicationResp.getFailureMsgs(); if(failureMsgs != null && failureMsgs.size()>0){ return ResultUtil.error(failureMsgs.get(0).getReason()); } userWithdrawal.setTransactionAuthorizationCode(Base64Util.encode(password)); userWithdrawal.setUserType(1); userWithdrawal.setUserId(id); userWithdrawal.setImgUrl(userWithdrawalReq.getIdCardFrontPicture()); userWithdrawal.setImgUrlOne(userWithdrawalReq.getIdCardReversePicture()); userWithdrawal.setIdCardFrontPicture(userWithdrawalReq.getCopy1()); userWithdrawal.setIdCardReversePicture(userWithdrawalReq.getCopy2()); userWithdrawalService.insert(userWithdrawal); //调用汇付业务入驻接口 todo Map<String, Object> map = douGongBasicDataBiz.userBusinessOpen(userWithdrawalReq); UserWithdrawal userWithdrawal1 = new UserWithdrawal(); userWithdrawal1.setId(userWithdrawal.getId()); BeanUtils.copyProperties(cusApplicationResp, userWithdrawal1); userWithdrawalService.updateById(userWithdrawal1); // 开通电子账簿 BalanceAcctReq balanceAcctReq = new BalanceAcctReq(); balanceAcctReq.setCusId(userWithdrawal1.getCusId()); balanceAcctReq.setOutRequestNo(ToolUtil.getRandomString(32)); balanceAcctReq.setPassword(password); ElectronicLedger electronicLedger = new ElectronicLedger(); electronicLedger.setBalanceAcctId(cusApplicationResp.getBalanceAcctId()); electronicLedger.setCreateTime(new Date()); electronicLedger.setCusId(cusApplicationResp.getCusId()); electronicLedger.setOutRequestNo(cusApplicationResp.getOutRequestNo()); electronicLedger.setUserId(userWithdrawal.getUserId()); electronicLedger.setPassword(SecureUtil.md5(password)); electronicLedger.setRelAcctNo(cusApplicationResp.getRelAcctNo()); electronicLedger.setUserType(1); electronicLedgerService.insert(electronicLedger); // 绑卡 存卡 UserBankAccount userBankAccount = new UserBankAccount(); userBankAccount.setBankAcctType("1"); userBankAccount.setOutRequestNo(ToolUtil.getRandomString(32)); userBankAccount.setUserType(1); userBankAccount.setCreateTime(new Date()); userBankAccount.setBankCardCode(userWithdrawal.getBankCardCode()); // TODO 页面没有输入地方 需要查询 userBankAccount.setBankCode(userWithdrawal.getBankCode()); // TODO 行联号 userBankAccount.setBankBranchCode(userWithdrawal.getBankBranchCode()); userBankAccount.setPhone(userWithdrawal.getPhone()); userBankAccount.setUserId(userWithdrawal.getUserId()); userBankAccount.setBankName(userWithdrawal.getBankName()); userBankAccount.setOpenAccountName(userWithdrawalReq.getOpenAccountName()); int count = userBankAccountService.selectCount(new EntityWrapper<UserBankAccount>() .eq("bankCardCode", userWithdrawalReq.getBankCardCode()).eq("phone",userWithdrawalReq.getPhone()).eq("status",1)); if(count<1){ userBankAccountService.insert(userBankAccount); } BankCard bankCard = new BankCard(); bankCard.setDriverId(userWithdrawal.getUserId()); bankCard.setBankAcctType("1"); bankCard.setOutRequestNo(ToolUtil.getRandomString(32)); bankCard.setInsertTime(new Date()); bankCard.setCode(userWithdrawal.getBankCardCode()); bankCard.setBankCode(userWithdrawal.getBankCode()); bankCard.setBankBranchCode(userWithdrawal.getBankBranchCode()); bankCard.setBank(userWithdrawal.getBankName()); bankCard.setPhone(userWithdrawal.getPhone()); bankCard.setName(userWithdrawal.getOpenAccountName()); bankCard.setIfDefault(true); bankCardService.insert(bankCard); UserBankAccountReq userBankAccountReq = new UserBankAccountReq(); BeanUtils.copyProperties(userBankAccount, userBankAccountReq); System.err.println(userWithdrawalReq.getCode()); userBankAccountReq.setCusId(cusApplicationResp.getCusId()); userBankAccountReq.setCode(userWithdrawalReq.getCode()); return ResultUtil.success(); }catch (UpyztException e){ if(e.getCode().equals("100101")){ return ResultUtil.error(e.getIssue()); } e.printStackTrace(); String message = e.getMessage(); return ResultUtil.error(message); }catch (Exception e){ log.error("用户进件失败", e); String message = e.getMessage(); return ResultUtil.error(message); } @@ -249,6 +244,7 @@ userWithdrawal.setCode(code); userWithdrawal.setBankCode(bankCode); CusApplicationResp renew = CusApplicationExample.renew(userWithdrawal); Map<String, Object> resultMap = douGongBasicDataBiz.userBasicDataIndvModify(userWithdrawal); log.info("修改个人用户进件信息返回:{}",renew); if("succeeded".equals(renew.getApplicationStatus())){ userWithdrawal1.setIdCardFrontPicture(copy1); UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/biz/DouGongBasicDataBiz.java
New file @@ -0,0 +1,196 @@ package com.stylefeng.guns.modular.huifu.biz; import cn.hutool.core.date.DateUtil; import com.google.gson.JsonObject; import com.huifu.bspay.sdk.opps.core.BasePay; import com.huifu.bspay.sdk.opps.core.config.MerConfig; import com.huifu.bspay.sdk.opps.core.net.BasePayRequest; import com.huifu.bspay.sdk.opps.core.utils.RsaUtils; import com.stylefeng.guns.modular.account.req.UserWithdrawalReq; import com.stylefeng.guns.modular.huifu.properties.HuiFuProperties; import com.stylefeng.guns.core.util.RequestSeqUtil; import com.stylefeng.guns.modular.system.model.UserWithdrawal; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * 斗拱进件业务 * @author mitao * @date 2025/11/14 */ @Slf4j @Component public class DouGongBasicDataBiz { @Autowired private HuiFuProperties huiFuProperties; /** * 个人用户基本信息开户 * @return * @throws Exception */ public Map<String, Object> userBasicDataIndv(UserWithdrawalReq userWithdrawalReq) throws Exception { // 1. 数据初始化,填入对应的商户配置 MerConfig merConfig = new MerConfig(); merConfig.setProcutId(huiFuProperties.getProductId()); merConfig.setSysId(huiFuProperties.getSysId()); merConfig.setRsaPrivateKey(huiFuProperties.getRsaPrivateKey()); merConfig.setRsaPublicKey(huiFuProperties.getRsaPublicKey()); BasePay.initWithMerConfig(merConfig); // 2.组装请求参数 Map<String, Object> paramsInfo = new HashMap<>(); // 请求流水号(动态生成,确保唯一性) paramsInfo.put("req_seq_id", RequestSeqUtil.generateForHuiFu()); // 请求日期 paramsInfo.put("req_date", DateUtil.format(new Date(),"yyyyMMdd")); // 个人证件类型 paramsInfo.put("cert_type", "00"); String[] certificateExpireDateArr = userWithdrawalReq.getCertificateExpireTime().split(","); String startDateStr = certificateExpireDateArr[0]; // 个人证件有效期开始日期 paramsInfo.put("cert_begin_date", startDateStr.replace("-", "")); // 个人证件有效期截止日期 String endDateStr = certificateExpireDateArr[1]; if (!"长期".equals(endDateStr)) { String formatEndDate = endDateStr.replace("-", ""); paramsInfo.put("cert_end_date", formatEndDate); // 个人证件有效期类型 paramsInfo.put("cert_validity_type", "0"); }else { // 个人证件有效期类型 paramsInfo.put("cert_validity_type", "1"); } // 手机号 paramsInfo.put("mobile_no", userWithdrawalReq.getPhone()); // 个人姓名 paramsInfo.put("name", RsaUtils.encrypt(userWithdrawalReq.getOpenAccountName(), huiFuProperties.getRsaPublicKey())); // 个人证件号码 paramsInfo.put("cert_no", RsaUtils.encrypt(userWithdrawalReq.getCertificateCode(), huiFuProperties.getRsaPublicKey())); // 是否发送短信标识 paramsInfo.put("sms_send_flag", "1"); // 3. 发起API调用 Map<String, Object> response = BasePayRequest.requestBasePay("v2/user/basicdata/indv", paramsInfo, null, false);; log.info("个人用户基本信息开户返回参数:" + response); return response; } /** * 个人用户基本信息修改 * @return * @throws Exception */ public Map<String, Object> userBasicDataIndvModify(UserWithdrawal userWithdrawal) throws Exception { // 1. 数据初始化,填入对应的商户配置 MerConfig merConfig = new MerConfig(); merConfig.setProcutId(huiFuProperties.getProductId()); merConfig.setSysId(huiFuProperties.getSysId()); merConfig.setRsaPrivateKey(huiFuProperties.getRsaPrivateKey()); merConfig.setRsaPublicKey(huiFuProperties.getRsaPublicKey()); BasePay.initWithMerConfig(merConfig); // 2.组装请求参数 Map<String, Object> paramsInfo = new HashMap<>(); // 请求流水号 paramsInfo.put("req_seq_id", RequestSeqUtil.generateForHuiFu()); // 请求日期 paramsInfo.put("req_date", DateUtil.format(new Date(),"yyyyMMdd")); // 汇付客户Id paramsInfo.put("huifu_id", userWithdrawal.getCusId()); String[] certificateExpireDateArr = userWithdrawal.getCertificateExpireTime().split(","); String startDateStr = certificateExpireDateArr[0]; // 个人证件有效期开始日期 paramsInfo.put("cert_begin_date", startDateStr.replace("-", "")); // 个人证件有效期截止日期 String endDateStr = certificateExpireDateArr[1]; if (!"长期".equals(endDateStr)) { String formatEndDate = endDateStr.replace("-", ""); paramsInfo.put("cert_end_date", formatEndDate); // 个人证件有效期类型 paramsInfo.put("cert_validity_type", "0"); }else { // 个人证件有效期类型 paramsInfo.put("cert_validity_type", "1"); } // 手机号 paramsInfo.put("mobile_no", userWithdrawal.getPhone()); // 3. 发起API调用 Map<String, Object> response = BasePayRequest.requestBasePay("v2/user/basicdata/indv/modify", paramsInfo, null, false); log.info("个人用户基本信息修改返回参数:" + response); return response; } /** * 用户业务入驻 * @return * @throws Exception */ public Map<String, Object> userBusinessOpen(UserWithdrawalReq userWithdrawalReq) throws Exception { // 1. 数据初始化,填入对应的商户配置 MerConfig merConfig = new MerConfig(); merConfig.setProcutId(huiFuProperties.getProductId()); merConfig.setSysId(huiFuProperties.getSysId()); merConfig.setRsaPrivateKey(huiFuProperties.getRsaPrivateKey()); merConfig.setRsaPublicKey(huiFuProperties.getRsaPublicKey()); BasePay.initWithMerConfig(merConfig); // 2.组装请求参数 Map<String, Object> paramsInfo = new HashMap<>(); // 汇付ID paramsInfo.put("huifu_id", "6666000105765113"); // 请求流水号 paramsInfo.put("req_seq_id", RequestSeqUtil.generateForHuiFu()); // 请求日期 paramsInfo.put("req_date", DateUtil.format(new Date(),"yyyyMMdd")); // 渠道商/商户汇付Id paramsInfo.put("upper_huifu_id", "6666000003084836"); // 乐接活配置当合作平台为乐接活,必填 paramsInfo.put("ljh_data", "test"); // 汇薪云配置当合作平台为汇薪云,必填 paramsInfo.put("hxy_data", "test"); // 结算信息配置 paramsInfo.put("settle_config", "{\"settle_cycle\":\"D1\",\"min_amt\":\"0.01\",\"remained_amt\":\"10.00\",\"settle_abstract\":\"结算摘要\",\"out_settle_flag\":\"2\",\"settle_batch_no\":\"300\",\"fixed_ratio\":\"2\"}"); // 结算卡信息 paramsInfo.put("card_info", "{\"card_type\":\"0\",\"card_name\":\"交通银行股份有限公司\",\"card_no\":\"6217001210064762121\",\"prov_id\":\"310000\",\"area_id\":\"310100\",\"branch_code\":\"105305264815\",\"cert_type\":\"00\",\"cert_no\":\"110101197003077513\",\"cert_validity_type\":\"0\",\"cert_begin_date\":\"20210806\",\"cert_end_date\":\"20410806\",\"mp\":\"15556622368\"}"); // 3. 发起API调用 Map<String, Object> response = BasePayRequest.requestBasePay("v2/user/busi/open", paramsInfo, null, false);; log.info("用户业务入驻返回参数:" + response); return response; } /** * 用户业务入驻 * @return * @throws Exception */ public Map<String, Object> userBusinessOpenModify(UserWithdrawalReq userWithdrawalReq) throws Exception { // 1. 数据初始化,填入对应的商户配置 MerConfig merConfig = new MerConfig(); merConfig.setProcutId(huiFuProperties.getProductId()); merConfig.setSysId(huiFuProperties.getSysId()); merConfig.setRsaPrivateKey(huiFuProperties.getRsaPrivateKey()); merConfig.setRsaPublicKey(huiFuProperties.getRsaPublicKey()); BasePay.initWithMerConfig(merConfig); // 2.组装请求参数 Map<String, Object> paramsInfo = new HashMap<>(); // 汇付ID paramsInfo.put("huifu_id", "6666000105765113"); // 请求流水号 paramsInfo.put("req_seq_id", RequestSeqUtil.generateForHuiFu()); // 请求日期 paramsInfo.put("req_date", DateUtil.format(new Date(),"yyyyMMdd")); // 渠道商/商户汇付Id paramsInfo.put("upper_huifu_id", "6666000003084836"); // 乐接活配置当合作平台为乐接活,必填 paramsInfo.put("ljh_data", "test"); // 汇薪云配置当合作平台为汇薪云,必填 paramsInfo.put("hxy_data", "test"); // 结算信息配置 paramsInfo.put("settle_config", "{\"settle_cycle\":\"D1\",\"min_amt\":\"0.01\",\"remained_amt\":\"10.00\",\"settle_abstract\":\"结算摘要\",\"out_settle_flag\":\"2\",\"settle_batch_no\":\"300\",\"fixed_ratio\":\"2\"}"); // 结算卡信息 paramsInfo.put("card_info", "{\"card_type\":\"0\",\"card_name\":\"交通银行股份有限公司\",\"card_no\":\"6217001210064762121\",\"prov_id\":\"310000\",\"area_id\":\"310100\",\"branch_code\":\"105305264815\",\"cert_type\":\"00\",\"cert_no\":\"110101197003077513\",\"cert_validity_type\":\"0\",\"cert_begin_date\":\"20210806\",\"cert_end_date\":\"20410806\",\"mp\":\"15556622368\"}"); // 3. 发起API调用 Map<String, Object> response = BasePayRequest.requestBasePay("v2/user/busi/open", paramsInfo, null, false);; log.info("用户业务入驻返回参数:" + response); return response; } } UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/config/HuiFuPropertiesConfiguration.java
New file @@ -0,0 +1,15 @@ package com.stylefeng.guns.modular.huifu.config; import com.stylefeng.guns.modular.cloudPayment.config.UpyztProperties; import com.stylefeng.guns.modular.huifu.properties.HuiFuProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Configuration; /** * @author mitao * @date 2025/11/14 */ @Configuration @EnableConfigurationProperties({HuiFuProperties.class}) public class HuiFuPropertiesConfiguration { } UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/properties/HuiFuProperties.java
New file @@ -0,0 +1,42 @@ package com.stylefeng.guns.modular.huifu.properties; import lombok.Data; import org.bouncycastle.crypto.util.PrivateKeyFactory; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.PrimitiveIterator; /** * @author mitao * @date 2025/11/14 */ @Data @Component @ConfigurationProperties(prefix = "huifu") public class HuiFuProperties { /** * 汇付分配的产品号 */ private String productId; /** * 汇付分配的系统号 */ private String sysId; /** * 服务商私钥,用于调用接口时进行签名 */ private String rsaPrivateKey; /** * 汇付公钥,用于对汇付返回报文进行签名验证 */ private String rsaPublicKey; /** * 汇付ID */ private String huifuId; /** * 渠道商/商户汇付Id */ private String upperHuifuId; } UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/huifu/req/UserBasicDataReq.java
New file @@ -0,0 +1,11 @@ package com.stylefeng.guns.modular.huifu.req; import lombok.Data; /** * @author mitao * @date 2025/11/14 */ @Data public class UserBasicDataReq { } UserJYXTravel/guns-admin/src/main/resources/application.yml
@@ -75,12 +75,12 @@ spring: profiles: local datasource: url: jdbc:mysql://rm-2ze3v6o025804w200ho.mysql.rds.aliyuncs.com:3306/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: ztjyx password: g@arm2tx+fcxFREizr6LDt84s)UKv2EZ db-name: jyxtravel #用来搜集数据库的所有表 filters: wall,mergeStat # datasource: # url: jdbc:mysql://rm-2ze3v6o025804w200ho.mysql.rds.aliyuncs.com:3306/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai # username: ztjyx # password: g@arm2tx+fcxFREizr6LDt84s)UKv2EZ # db-name: jyxtravel #用来搜集数据库的所有表 # filters: wall,mergeStat # datasource: ## url: jdbc:mysql://127.0.0.1:3306/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai # url: jdbc:mysql://192.168.110.80:3306/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai @@ -107,12 +107,12 @@ # filters: wall,mergeStat #spring: # datasource: # url: jdbc:mysql://127.0.0.1:3306/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai # username: root # password: 123456 # db-name: jyxtravel #用来搜集数据库的所有表 # filters: wall,mergeStat datasource: url: jdbc:mysql://127.0.0.1:3307/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root_remote password: 123456 db-name: jyxtravel #用来搜集数据库的所有表 filters: wall,mergeStat #多数据源情况的配置 #guns: @@ -192,4 +192,10 @@ msgSrcId: 34U0 mid: 898150841210108 tid: 84UJWSE8 instMid: QRPAYDEFAULT instMid: QRPAYDEFAULT huifu: product_id: KAZX sys_id: 6666000182995771 rsa_private_key: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4= rsa_public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB upper_huifu_id: 6666000182995771