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

@@ -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));
}
/**