update 汇付会员逻辑修改

This commit is contained in:
2023-06-15 14:06:33 +08:00
parent e9e7d044a9
commit 4bed5db8f2
6 changed files with 112 additions and 51 deletions

View File

@@ -8,8 +8,10 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.primitives.Bytes; import com.google.common.primitives.Bytes;
import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.huifu.adapay.model.Refund; import com.huifu.adapay.model.Refund;
import com.jsowell.JsowellApplication; import com.jsowell.JsowellApplication;
import com.jsowell.adapay.service.AdapayMemberService;
import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants; import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.entity.SysDictData; import com.jsowell.common.core.domain.entity.SysDictData;
@@ -160,6 +162,22 @@ public class SpringBootTestController {
@Autowired @Autowired
private IAdapayRefundRecordService adapayRefundRecordService; private IAdapayRefundRecordService adapayRefundRecordService;
@Autowired
private AdapayMemberService adapayMemberService;
@Test
public void testQueryAdapayMemberInfo() {
String adapayMemberId = "AM25703321";
String settleAccountId = "0489089447022976";
try {
// adapayMemberService.queryAdapayMemberInfo(adapayMemberId);
adapayMemberService.queryAdapaySettleAccount(adapayMemberId, settleAccountId);
} catch (BaseAdaPayException e) {
throw new RuntimeException(e);
}
}
@Test @Test
public void testSaveAdapayCallbackRecord() throws JsonProcessingException { public void testSaveAdapayCallbackRecord() throws JsonProcessingException {
String data = "{\n" + String data = "{\n" +

View File

@@ -0,0 +1,64 @@
package com.jsowell.adapay.response;
import lombok.*;
import java.util.List;
/**
* 查询汇付会员返回参数
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QueryMemberResponse {
private String member_id;
private String created_time;
private String cert_type;
private String gender;
private String identified;
private String tel_no;
private String prod_mode;
private String nickname;
private String disabled;
private String location;
private List<SettleAccount> settle_accounts;
private String email;
private String object;
private String status;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public static class SettleAccount {
private String member_id;
private String upd_ts;
private AccountInfo account_info;
private String channel;
private String id;
private String type;
private String app_id;
private String cre_ts;
}
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public static class AccountInfo {
private String bank_code;
private String cert_type;
private String tel_no;
private String area_code;
private String bank_name;
private String card_name;
private String cert_id;
private String bank_acct_type;
private String prov_code;
private String card_id;
}
}

View File

@@ -9,6 +9,7 @@ import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.huifu.adapay.model.Member; import com.huifu.adapay.model.Member;
import com.huifu.adapay.model.SettleAccount; import com.huifu.adapay.model.SettleAccount;
import com.jsowell.adapay.dto.AdapayMemberInfoDTO; import com.jsowell.adapay.dto.AdapayMemberInfoDTO;
import com.jsowell.adapay.response.QueryMemberResponse;
import com.jsowell.adapay.vo.AdapayAccountBalanceVO; import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
import com.jsowell.adapay.vo.AdapayMemberVO; import com.jsowell.adapay.vo.AdapayMemberVO;
import com.jsowell.adapay.vo.AdapaySettleAccountVO; import com.jsowell.adapay.vo.AdapaySettleAccountVO;
@@ -116,6 +117,7 @@ public class AdapayMemberService {
String errorMsg = settleCount == null ? "创建汇付结算账户失败" : (String) settleCount.get("error_msg"); String errorMsg = settleCount == null ? "创建汇付结算账户失败" : (String) settleCount.get("error_msg");
throw new BusinessException("00500001", errorMsg); throw new BusinessException("00500001", errorMsg);
} }
JSONObject account_info = JSON.parseObject((String) settleCount.get("account_info"));
AdapaySettleAccount adapaySettleAccount = new AdapaySettleAccount(); AdapaySettleAccount adapaySettleAccount = new AdapaySettleAccount();
adapaySettleAccount.setSettleAccountId((String) settleCount.get("id")); adapaySettleAccount.setSettleAccountId((String) settleCount.get("id"));
@@ -126,10 +128,10 @@ public class AdapayMemberService {
adapaySettleAccount.setCertId(dto.getCertId()); adapaySettleAccount.setCertId(dto.getCertId());
adapaySettleAccount.setCertType(Constants.DOUBLE_ZERO); adapaySettleAccount.setCertType(Constants.DOUBLE_ZERO);
adapaySettleAccount.setTelNo(dto.getTelNo()); adapaySettleAccount.setTelNo(dto.getTelNo());
adapaySettleAccount.setBankCode(dto.getBankCode());
adapaySettleAccount.setBankAcctType(dto.getBankAcctType()); adapaySettleAccount.setBankAcctType(dto.getBankAcctType());
adapaySettleAccount.setProvCode(dto.getProvCode()); adapaySettleAccount.setBankCode(account_info.getString("bank_code"));
adapaySettleAccount.setAreaCode(dto.getAreaCode()); adapaySettleAccount.setProvCode(account_info.getString("prov_code"));
adapaySettleAccount.setAreaCode(account_info.getString("area_code"));
adapaySettleAccountService.insertAdapaySettleAccount(adapaySettleAccount); adapaySettleAccountService.insertAdapaySettleAccount(adapaySettleAccount);
} }
@@ -153,55 +155,32 @@ public class AdapayMemberService {
return resultVO; return resultVO;
} }
/** /**
* 创建结算账户 * 查询汇付会员信息
*/ */
public void createSettleAccount(AdapayMemberInfoDTO dto) throws BaseAdaPayException { public void queryAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException {
Map<String, Object> accountInfo = Maps.newHashMap(); Map<String, Object> memberParams = Maps.newHashMap();
// 银行卡号 memberParams.put("member_id", adapayMemberId);
accountInfo.put("card_id", dto.getCardId()); memberParams.put("app_id", ADAPAY_APP_ID);
// 银行卡对应的户名 log.info("查询用户,请求参数:{}", JSON.toJSONString(memberParams));
accountInfo.put("card_name", dto.getCardName()); Map<String, Object> member = Member.query(memberParams);
// 证件号,银行账户类型为对私时,必填 QueryMemberResponse queryMemberResponse = JSON.parseObject(JSON.toJSONString(member), QueryMemberResponse.class);
accountInfo.put("cert_id", dto.getCertId()); log.info("查询用户,返回参数:{}", JSON.toJSONString(queryMemberResponse));
// 证件类型仅支持00-身份证,银行账户类型为对私时,必填 }
accountInfo.put("cert_type", "00");
// 手机号
accountInfo.put("tel_no", dto.getTelNo());
// 银行编码,详见附录 银行代码,银行账户类型对公时,必填
accountInfo.put("bank_code", dto.getBankCode());
// 银行账户类型1-对公2-对私
accountInfo.put("bank_acct_type", dto.getBankAcctType());
// 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填
accountInfo.put("prov_code", dto.getAreaCode());
// 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填
accountInfo.put("area_code", dto.getAreaCode());
/**
* 查询汇付结算账户信息
*/
public void queryAdapaySettleAccount(String adapayMemberId, String settleAccountId) throws BaseAdaPayException {
Map<String, Object> settleCountParams = Maps.newHashMap(); Map<String, Object> settleCountParams = Maps.newHashMap();
settleCountParams.put("member_id", dto.getAdapayMemberId()); settleCountParams.put("settle_account_id", settleAccountId);
settleCountParams.put("member_id", adapayMemberId);
settleCountParams.put("app_id", ADAPAY_APP_ID); settleCountParams.put("app_id", ADAPAY_APP_ID);
// channel String Y 目前仅支持bank_account银行卡 log.info("查询汇付结算账户信息param:{}", JSON.toJSONString(settleCountParams));
settleCountParams.put("channel", "bank_account"); Map<String, Object> settleCount = SettleAccount.query(settleCountParams);
settleCountParams.put("account_info", accountInfo); QueryMemberResponse.SettleAccount settleAccount = JSON.parseObject(JSON.toJSONString(settleCount), QueryMemberResponse.SettleAccount.class);
Map<String, Object> settleCount = SettleAccount.create(settleCountParams); log.info("查询汇付结算账户信息result:{}", JSON.toJSONString(settleAccount));
log.info("创建汇付结算账户result:{}", settleCount);
if (settleCount != null && "succeeded".equals(settleCount.get("status"))) {
AdapaySettleAccount adapaySettleAccount = new AdapaySettleAccount();
adapaySettleAccount.setSettleAccountId((String) settleCount.get("id"));
adapaySettleAccount.setMerchantId(dto.getMerchantId());
adapaySettleAccount.setAdapayMemberId(dto.getAdapayMemberId());
adapaySettleAccount.setCardId(dto.getCardId());
adapaySettleAccount.setCardName(dto.getCardName());
adapaySettleAccount.setCertId(dto.getCertId());
adapaySettleAccount.setCertType("00");
adapaySettleAccount.setTelNo(dto.getTelNo());
adapaySettleAccount.setBankCode(dto.getBankCode());
adapaySettleAccount.setBankAcctType(dto.getBankAcctType());
adapaySettleAccount.setProvCode(dto.getProvCode());
adapaySettleAccount.setAreaCode(dto.getAreaCode());
adapaySettleAccountService.insertAdapaySettleAccount(adapaySettleAccount);
}
} }
/** /**

View File

@@ -5,7 +5,7 @@
<h2>钱包汇总</h2> <h2>钱包汇总</h2>
<p>运营商举视新能源</p> <p>运营商举视新能源</p>
<p>商家性质企业</p> <p>商家性质企业</p>
<p>开户状态进件成功</p> <!-- <p>开户状态进件成功</p>-->
<p>开户行名称中国农业银行股份有限公司</p> <p>开户行名称中国农业银行股份有限公司</p>
<p>收款卡号46456412</p> <p>收款卡号46456412</p>
<p>预留手机号452584</p> <p>预留手机号452584</p>

View File

@@ -6,7 +6,7 @@
<adapay-member :merchantId="merchantId"></adapay-member> <adapay-member :merchantId="merchantId"></adapay-member>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane> <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
<el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane> <!-- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>-->
<el-tab-pane label="钱包汇总" name="wallet"> <el-tab-pane label="钱包汇总" name="wallet">
<wallet-summary></wallet-summary> <wallet-summary></wallet-summary>
</el-tab-pane> </el-tab-pane>

View File

@@ -35,9 +35,9 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://localhost:8080`, target: `http://localhost:8080`,
// 更改代理为本地地址 // 更改代理为本地地址
target: `http://192.168.2.3:8080`, // target: `http://192.168.2.3:8080`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "", ["^" + process.env.VUE_APP_BASE_API]: "",