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.Maps;
import com.google.common.primitives.Bytes;
import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.huifu.adapay.model.Refund;
import com.jsowell.JsowellApplication;
import com.jsowell.adapay.service.AdapayMemberService;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.entity.SysDictData;
@@ -160,6 +162,22 @@ public class SpringBootTestController {
@Autowired
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
public void testSaveAdapayCallbackRecord() throws JsonProcessingException {
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.SettleAccount;
import com.jsowell.adapay.dto.AdapayMemberInfoDTO;
import com.jsowell.adapay.response.QueryMemberResponse;
import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
import com.jsowell.adapay.vo.AdapayMemberVO;
import com.jsowell.adapay.vo.AdapaySettleAccountVO;
@@ -116,6 +117,7 @@ public class AdapayMemberService {
String errorMsg = settleCount == null ? "创建汇付结算账户失败" : (String) settleCount.get("error_msg");
throw new BusinessException("00500001", errorMsg);
}
JSONObject account_info = JSON.parseObject((String) settleCount.get("account_info"));
AdapaySettleAccount adapaySettleAccount = new AdapaySettleAccount();
adapaySettleAccount.setSettleAccountId((String) settleCount.get("id"));
@@ -126,10 +128,10 @@ public class AdapayMemberService {
adapaySettleAccount.setCertId(dto.getCertId());
adapaySettleAccount.setCertType(Constants.DOUBLE_ZERO);
adapaySettleAccount.setTelNo(dto.getTelNo());
adapaySettleAccount.setBankCode(dto.getBankCode());
adapaySettleAccount.setBankAcctType(dto.getBankAcctType());
adapaySettleAccount.setProvCode(dto.getProvCode());
adapaySettleAccount.setAreaCode(dto.getAreaCode());
adapaySettleAccount.setBankCode(account_info.getString("bank_code"));
adapaySettleAccount.setProvCode(account_info.getString("prov_code"));
adapaySettleAccount.setAreaCode(account_info.getString("area_code"));
adapaySettleAccountService.insertAdapaySettleAccount(adapaySettleAccount);
}
@@ -153,55 +155,32 @@ public class AdapayMemberService {
return resultVO;
}
/**
* 创建结算账户
* 查询汇付会员信息
*/
public void createSettleAccount(AdapayMemberInfoDTO dto) throws BaseAdaPayException {
Map<String, Object> accountInfo = Maps.newHashMap();
// 银行卡号
accountInfo.put("card_id", dto.getCardId());
// 银行卡对应的户名
accountInfo.put("card_name", dto.getCardName());
// 证件号,银行账户类型为对私时,必填
accountInfo.put("cert_id", dto.getCertId());
// 证件类型仅支持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 queryAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException {
Map<String, Object> memberParams = Maps.newHashMap();
memberParams.put("member_id", adapayMemberId);
memberParams.put("app_id", ADAPAY_APP_ID);
log.info("查询用户,请求参数:{}", JSON.toJSONString(memberParams));
Map<String, Object> member = Member.query(memberParams);
QueryMemberResponse queryMemberResponse = JSON.parseObject(JSON.toJSONString(member), QueryMemberResponse.class);
log.info("查询用户,返回参数:{}", JSON.toJSONString(queryMemberResponse));
}
/**
* 查询汇付结算账户信息
*/
public void queryAdapaySettleAccount(String adapayMemberId, String settleAccountId) throws BaseAdaPayException {
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);
// channel String Y 目前仅支持bank_account银行卡
settleCountParams.put("channel", "bank_account");
settleCountParams.put("account_info", accountInfo);
Map<String, Object> settleCount = SettleAccount.create(settleCountParams);
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);
}
log.info("查询汇付结算账户信息param:{}", JSON.toJSONString(settleCountParams));
Map<String, Object> settleCount = SettleAccount.query(settleCountParams);
QueryMemberResponse.SettleAccount settleAccount = JSON.parseObject(JSON.toJSONString(settleCount), QueryMemberResponse.SettleAccount.class);
log.info("查询汇付结算账户信息result:{}", JSON.toJSONString(settleAccount));
}
/**

View File

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

View File

@@ -6,7 +6,7 @@
<adapay-member :merchantId="merchantId"></adapay-member>
</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">
<wallet-summary></wallet-summary>
</el-tab-pane>

View File

@@ -35,9 +35,9 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[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,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "",