updateupdate 汇付会员账户表实体类

This commit is contained in:
2023-06-15 15:11:36 +08:00
parent e1b2be97cc
commit 1580dddd97
9 changed files with 96 additions and 541 deletions

View File

@@ -1,6 +1,7 @@
package com.jsowell.adapay.service;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.huifu.adapay.model.Member;
@@ -8,7 +9,7 @@ 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.AdapayMemberInfoVO;
import com.jsowell.adapay.vo.AdapaySettleAccountVO;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -114,38 +115,97 @@ public class AdapayMemberService {
* @param merchantId
* @return
*/
public AdapayMemberVO selectAdapayMember(String merchantId) {
AdapayMemberVO resultVO = new AdapayMemberVO();
public Map<String, Object> selectAdapayMember(String merchantId) throws BaseAdaPayException {
Map<String, Object> map = Maps.newHashMap();
AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId);
if (adapayMemberAccount == null) {
return null;
}
return resultVO;
String adapayMemberId = adapayMemberAccount.getAdapayMemberId();
String settleAccountId = adapayMemberAccount.getSettleAccountId();
AdapayMemberInfoVO adapayMemberInfoVO = queryAdapayMemberInfo(adapayMemberId);
if (adapayMemberInfoVO != null) {
adapayMemberInfoVO.setMerchantId(merchantId);
}
AdapaySettleAccountVO adapaySettleAccountVO = queryAdapaySettleAccount(adapayMemberId, settleAccountId);
if (adapaySettleAccountVO != null) {
adapaySettleAccountVO.setMerchantId(merchantId);
}
map.put("adapayMember", adapayMemberInfoVO);
map.put("settleAccountList", Lists.newArrayList(adapaySettleAccountVO));
return map;
}
/**
* 查询汇付会员信息
*/
public void queryAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException {
public AdapayMemberInfoVO queryAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException {
if (StringUtils.isBlank(adapayMemberId)) {
return null;
}
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);
log.info("查询用户,返回参数:{}", JSON.toJSONString(member));
if (member == null || member.isEmpty() || !"succeeded".equals(member.get("status"))) {
return null;
}
QueryMemberResponse queryMemberResponse = JSON.parseObject(JSON.toJSONString(member), QueryMemberResponse.class);
log.info("查询用户,返回参数:{}", JSON.toJSONString(queryMemberResponse));
AdapayMemberInfoVO resultVO = AdapayMemberInfoVO.builder()
.nickname(queryMemberResponse.getNickname())
.gender(queryMemberResponse.getGender())
.email(queryMemberResponse.getEmail())
.location(queryMemberResponse.getLocation())
.build();
return resultVO;
}
/**
* 查询汇付结算账户信息
*/
public void queryAdapaySettleAccount(String adapayMemberId, String settleAccountId) throws BaseAdaPayException {
public AdapaySettleAccountVO queryAdapaySettleAccount(String adapayMemberId, String settleAccountId) throws BaseAdaPayException {
if (StringUtils.isBlank(adapayMemberId) || StringUtils.isBlank(settleAccountId)) {
return null;
}
Map<String, Object> settleCountParams = Maps.newHashMap();
settleCountParams.put("settle_account_id", settleAccountId);
settleCountParams.put("member_id", adapayMemberId);
settleCountParams.put("app_id", ADAPAY_APP_ID);
log.info("查询汇付结算账户信息param:{}", JSON.toJSONString(settleCountParams));
Map<String, Object> settleCount = SettleAccount.query(settleCountParams);
QueryMemberResponse.SettleAccount settleAccount = JSON.parseObject(JSON.toJSONString(settleCount), QueryMemberResponse.SettleAccount.class);
Map<String, Object> settleAccount = SettleAccount.query(settleCountParams);
log.info("查询汇付结算账户信息result:{}", JSON.toJSONString(settleAccount));
if (settleAccount == null || settleAccount.isEmpty() || !"succeeded".equals(settleAccount.get("status"))) {
return null;
}
QueryMemberResponse.SettleAccount settleAccountInfo = JSON.parseObject(JSON.toJSONString(settleAccount), QueryMemberResponse.SettleAccount.class);
QueryMemberResponse.AccountInfo accountInfo = settleAccountInfo.getAccount_info();
AdapaySettleAccountVO resultVO = AdapaySettleAccountVO.builder()
.adapayMemberId(settleAccountInfo.getMember_id())
.settleAccountId(settleAccountInfo.getId())
.cardId(accountInfo.getCard_id())
.cardName(accountInfo.getCard_name())
.certId(accountInfo.getCert_id())
.certType(accountInfo.getCert_type())
.telNo(accountInfo.getTel_no())
.bankName(accountInfo.getBank_name())
.bankCode(accountInfo.getBank_code())
.bankAcctType(accountInfo.getBank_acct_type())
.provCode(accountInfo.getProv_code())
.areaCode(accountInfo.getArea_code())
.build();
return resultVO;
}
/**
@@ -165,7 +225,7 @@ public class AdapayMemberService {
queryParams.put("member_id", member_id);
queryParams.put("app_id", ADAPAY_APP_ID);
Map<String, Object> settleCount = SettleAccount.balance(queryParams);
if (settleCount == null || settleCount.isEmpty() || "succeeded".equals(settleCount.get("status"))) {
if (settleCount == null || settleCount.isEmpty() || !"succeeded".equals(settleCount.get("status"))) {
return vo;
}
vo.setFrzBalance(new BigDecimal((String) settleCount.get("frz_balance")));

View File

@@ -0,0 +1,21 @@
package com.jsowell.adapay.vo;
import lombok.*;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AdapayMemberInfoVO {
// 运营商id
private String merchantId;
// 地址
private String location;
// 电子邮箱
private String email;
// 性别
private String gender;
// 昵称
private String nickname;
}

View File

@@ -1,81 +0,0 @@
package com.jsowell.adapay.vo;
import lombok.*;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AdapayMemberVO {
// 运营商id
private String merchantId;
// 地址
private String location;
// 电子邮箱
private String email;
// 性别
private String gender;
// 昵称
private String nickname;
/**
* 汇付会员id
*/
private String adapayMemberId;
/**
* 结算账户对象 id
*/
private String settleAccountId;
/**
* 银行卡号
*/
private String cardId;
/**
* 银行卡对应的户名
*/
private String cardName;
/**
* 证件号,银行账户类型为对私时,必填
*/
private String certId;
/**
* 证件类型仅支持00-身份证,银行账户类型为对私时,必填
*/
private String certType;
/**
* 手机号
*/
private String telNo;
/**
* 银行编码,详见附录 银行代码,银行账户类型对公时,必填
*/
private String bankCode;
/**
* 开户银行名称
*/
private String bankName;
/**
* 银行账户类型1-对公2-对私
*/
private String bankAcctType;
/**
* 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填
*/
private String provCode;
/**
* 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填
*/
private String areaCode;
}

View File

@@ -1,88 +0,0 @@
package com.jsowell.pile.domain;
import lombok.*;
import java.util.Date;
/**
* 汇付会员表
*/
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AdapayMemberInfo {
/**
* 主键
*/
private Integer id;
private String merchantId;
/**
* 汇付会员id
*/
private String memberId;
/**
* MALEFEMALE为空时表示未填写
*/
private String gender;
/**
* 是否已实名认证YN
*/
private String identified;
/**
* 用户手机号,使用 收银台对象 功能必填 若创建用户对象用于分账功能,则手机号字段一定不要上送
*/
private Integer telNo;
/**
* 是否 prod模式true 是 prod模式false 是 mock模式
*/
private String prodMode;
/**
* 用户昵称
*/
private String nickname;
/**
* 是否禁用该用户YN
*/
private String disabled;
/**
* 用户地址
*/
private String location;
private String appId;
/**
* 用户邮箱
*/
private String email;
private String object;
/**
* 当前交易状态
*/
private String status;
/**
* 汇付返回的创建时间
*/
private String createdTime;
private Date createTime;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
}

View File

@@ -1,244 +0,0 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 汇付结算账户对象 adapay_settle_account
*
* @author jsowell
* @date 2023-06-12
*/
@Getter
@Setter
public class AdapaySettleAccount extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 运营商id
*/
@Excel(name = "运营商id")
private String merchantId;
/**
* 汇付会员id
*/
@Excel(name = "汇付会员id")
private String adapayMemberId;
/**
* 结算账户对象 id
*/
@Excel(name = "结算账户对象id")
private String settleAccountId;
/**
* 银行卡号
*/
@Excel(name = "银行卡号")
private String cardId;
/**
* 银行卡对应的户名
*/
@Excel(name = "银行卡对应的户名")
private String cardName;
/**
* 证件号,银行账户类型为对私时,必填
*/
@Excel(name = "证件号,银行账户类型为对私时,必填")
private String certId;
/**
* 证件类型仅支持00-身份证,银行账户类型为对私时,必填
*/
@Excel(name = "证件类型仅支持00-身份证,银行账户类型为对私时,必填")
private String certType;
/**
* 手机号
*/
@Excel(name = "手机号")
private String telNo;
/**
* 银行编码,详见附录 银行代码,银行账户类型对公时,必填
*/
@Excel(name = "银行编码,详见附录 银行代码,银行账户类型对公时,必填")
private String bankCode;
/**
* 开户银行名称
*/
@Excel(name = "开户银行名称")
private String bankName;
/**
* 银行账户类型1-对公2-对私
*/
@Excel(name = "银行账户类型1-对公2-对私")
private String bankAcctType;
/**
* 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填
*/
@Excel(name = "银行账户开户银行所在省份编码 ", readConverterExp = "省=市编码")
private String provCode;
/**
* 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填
*/
@Excel(name = "银行账户开户银行所在地区编码", readConverterExp = "省=市编码")
private String areaCode;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setMerchantId(String merchantId) {
this.merchantId = merchantId;
}
public String getMerchantId() {
return merchantId;
}
public void setAdapayMemberId(String adapayMemberId) {
this.adapayMemberId = adapayMemberId;
}
public String getAdapayMemberId() {
return adapayMemberId;
}
public void setCardId(String cardId) {
this.cardId = cardId;
}
public String getCardId() {
return cardId;
}
public void setCardName(String cardName) {
this.cardName = cardName;
}
public String getCardName() {
return cardName;
}
public void setCertId(String certId) {
this.certId = certId;
}
public String getCertId() {
return certId;
}
public void setCertType(String certType) {
this.certType = certType;
}
public String getCertType() {
return certType;
}
public void setTelNo(String telNo) {
this.telNo = telNo;
}
public String getTelNo() {
return telNo;
}
public void setBankCode(String bankCode) {
this.bankCode = bankCode;
}
public String getBankCode() {
return bankCode;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getBankName() {
return bankName;
}
public void setBankAcctType(String bankAcctType) {
this.bankAcctType = bankAcctType;
}
public String getBankAcctType() {
return bankAcctType;
}
public void setProvCode(String provCode) {
this.provCode = provCode;
}
public String getProvCode() {
return provCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getAreaCode() {
return areaCode;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("merchantId", getMerchantId())
.append("adapayMemberId", getAdapayMemberId())
.append("cardId", getCardId())
.append("cardName", getCardName())
.append("certId", getCertId())
.append("certType", getCertType())
.append("telNo", getTelNo())
.append("bankCode", getBankCode())
.append("bankName", getBankName())
.append("bankAcctType", getBankAcctType())
.append("provCode", getProvCode())
.append("areaCode", getAreaCode())
.append("createTime", getCreateTime())
.append("createBy", getCreateBy())
.append("updateTime", getUpdateTime())
.append("updateBy", getUpdateBy())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -1,49 +0,0 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.AdapayMemberInfo;
public interface AdapayMemberInfoMapper {
/**
* delete by primary key
* @param id primaryKey
* @return deleteCount
*/
int deleteByPrimaryKey(Integer id);
/**
* insert record to table
* @param record the record
* @return insert count
*/
int insert(AdapayMemberInfo record);
/**
* insert record to table selective
* @param record the record
* @return insert count
*/
int insertSelective(AdapayMemberInfo record);
/**
* select by primary key
* @param id primary key
* @return object by primary key
*/
AdapayMemberInfo selectByPrimaryKey(Integer id);
/**
* update record selective
* @param record the updated record
* @return update count
*/
int updateByPrimaryKeySelective(AdapayMemberInfo record);
/**
* update record
* @param record the updated record
* @return update count
*/
int updateByPrimaryKey(AdapayMemberInfo record);
AdapayMemberInfo selectByMerchantId(String merchantId);
}

View File

@@ -1,65 +0,0 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.AdapaySettleAccount;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 汇付结算账户Mapper接口
*
* @author jsowell
* @date 2023-06-12
*/
@Repository
public interface AdapaySettleAccountMapper {
/**
* 查询汇付结算账户
*
* @param id 汇付结算账户主键
* @return 汇付结算账户
*/
public AdapaySettleAccount selectAdapaySettleAccountById(Long id);
/**
* 查询汇付结算账户列表
*
* @param adapaySettleAccount 汇付结算账户
* @return 汇付结算账户集合
*/
public List<AdapaySettleAccount> selectAdapaySettleAccountList(AdapaySettleAccount adapaySettleAccount);
/**
* 新增汇付结算账户
*
* @param adapaySettleAccount 汇付结算账户
* @return 结果
*/
public int insertAdapaySettleAccount(AdapaySettleAccount adapaySettleAccount);
/**
* 修改汇付结算账户
*
* @param adapaySettleAccount 汇付结算账户
* @return 结果
*/
public int updateAdapaySettleAccount(AdapaySettleAccount adapaySettleAccount);
/**
* 删除汇付结算账户
*
* @param id 汇付结算账户主键
* @return 结果
*/
public int deleteAdapaySettleAccountById(Long id);
/**
* 批量删除汇付结算账户
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteAdapaySettleAccountByIds(Long[] ids);
AdapaySettleAccount selectByMerchantId(String merchantId);
}