mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-19 18:45:03 +08:00
提交实体类
This commit is contained in:
@@ -10,7 +10,9 @@ import com.jsowell.adapay.service.AdapayMemberService;
|
||||
import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
|
||||
import com.jsowell.common.core.controller.BaseController;
|
||||
import com.jsowell.common.core.domain.AjaxResult;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -37,6 +39,9 @@ public class AdapayMemberController extends BaseController {
|
||||
logger.info("创建结算账户接口 param:{}", JSON.toJSONString(dto));
|
||||
AjaxResult result;
|
||||
try {
|
||||
if (StringUtils.isBlank(dto.getMerchantId())) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
adapayMemberService.createSettleAccount(dto);
|
||||
result = AjaxResult.success();
|
||||
} catch (BusinessException e) {
|
||||
@@ -56,10 +61,16 @@ public class AdapayMemberController extends BaseController {
|
||||
public AjaxResult selectAdapayMember(@RequestBody AdapayMemberInfoDTO dto) {
|
||||
AjaxResult result;
|
||||
try {
|
||||
if (StringUtils.isBlank(dto.getMerchantId())) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
Map<String, Object> map = adapayMemberService.selectAdapayMember(dto.getMerchantId());
|
||||
result = AjaxResult.success(map);
|
||||
} catch (BusinessException e) {
|
||||
logger.warn("查询汇付会员接口异常warn", e);
|
||||
result = AjaxResult.error(e.getMessage());
|
||||
} catch (Exception e) {
|
||||
logger.error("查询汇付会员接口异常", e);
|
||||
logger.error("查询汇付会员接口异常error", e);
|
||||
result = AjaxResult.error("查询汇付会员接口异常");
|
||||
}
|
||||
return result;
|
||||
|
||||
@@ -225,4 +225,10 @@ public class Constants {
|
||||
|
||||
// N-否
|
||||
public static final String N = "N";
|
||||
|
||||
// 汇付个人用户前缀
|
||||
public static final String ADAPAY_MEMBER_PREFIX = "AM";
|
||||
|
||||
// 汇付企业用户前缀
|
||||
public static final String ADAPAY_CORP_MEMBER_PREFIX = "ACM";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 结算账户信息
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AccountInfo {
|
||||
// 银行卡号
|
||||
private String card_id;
|
||||
|
||||
// 银行卡对应的户名
|
||||
private String card_name;
|
||||
|
||||
// 证件号,银行账户类型为对私时,必填
|
||||
private String cert_id;
|
||||
|
||||
// 证件类型,仅支持:00-身份证,银行账户类型为对私时,必填
|
||||
private String cert_type;
|
||||
|
||||
// 手机号
|
||||
private String tel_no;
|
||||
|
||||
// 银行编码,详见附录 银行代码,银行账户类型对公时,必填
|
||||
private String bank_code;
|
||||
|
||||
// 开户银行名称
|
||||
private String bank_name;
|
||||
|
||||
// 银行账户类型:1-对公;2-对私
|
||||
private String bank_acct_type;
|
||||
|
||||
// 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填
|
||||
private String prov_code;
|
||||
|
||||
// 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填
|
||||
private String area_code;
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CorpMember {
|
||||
// 控制台 主页面应用的app_id
|
||||
private String app_id;
|
||||
|
||||
// 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
|
||||
private String order_no;
|
||||
|
||||
// 商户下的用户id,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
|
||||
private String member_id;
|
||||
|
||||
// 企业名称
|
||||
private String name;
|
||||
|
||||
// 省份编码 (省市编码)
|
||||
private String prov_code;
|
||||
|
||||
// 地区编码 (省市编码)
|
||||
private String area_code;
|
||||
|
||||
// 统一社会信用码
|
||||
private String social_credit_code;
|
||||
|
||||
// 统一社会信用证有效期(格式:YYYYMMDD,例如:20190909)
|
||||
private String social_credit_code_expires;
|
||||
|
||||
// 经营范围
|
||||
private String business_scope;
|
||||
|
||||
// 法人姓名
|
||||
private String legal_person;
|
||||
|
||||
// 法人身份证号码
|
||||
private String legal_cert_id;
|
||||
|
||||
// 法人身份证有效期(格式:YYYYMMDD,例如:20190909)
|
||||
private String legal_cert_id_expires;
|
||||
|
||||
// 法人手机号
|
||||
private String legal_mp;
|
||||
|
||||
// 企业地址
|
||||
private String address;
|
||||
|
||||
// 邮编
|
||||
private String zip_code;
|
||||
|
||||
// 企业电话
|
||||
private String telphone;
|
||||
|
||||
// 企业邮箱
|
||||
private String email;
|
||||
|
||||
// 上传附件,传入的中文文件名称为 UTF-8 字符集 URLEncode 编码后的字符串。
|
||||
// 内容须包含三证合一证件照、法人身份证正面照、法人身份证反面照、开户银行许可证照。 压缩 zip包后上
|
||||
private String attach_file;
|
||||
|
||||
// 银行代码,如果需要自动开结算账户,本字段必填(详见附录 银行代码)
|
||||
private String bank_code;
|
||||
|
||||
// 银行账户类型:1-对公;2-对私,如果需要自动开结算账户,本字段必填
|
||||
private String bank_acct_type;
|
||||
|
||||
// 银行卡号,如果需要自动开结算账户,本字段必填
|
||||
private String card_no;
|
||||
|
||||
// 银行卡对应的户名,如果需要自动开结算账户,本字段必填
|
||||
private String card_name;
|
||||
|
||||
// SettleAccount对象 列表
|
||||
private List<SettleAccount> settle_accounts;
|
||||
|
||||
// 审核状态,状态包括:A-待审核;B-审核失败;C-开户失败;D-开户成功但未创建结算账户;E-开户和创建结算账户成功
|
||||
private String audit_state;
|
||||
|
||||
// 审核结果描述
|
||||
private String audit_desc;
|
||||
|
||||
// 当前交易状态,参见 状态 说明
|
||||
private String status;
|
||||
|
||||
// 错误码,详见 错误
|
||||
private String error_code;
|
||||
|
||||
// 错误描述,详见 错误
|
||||
private String error_msg;
|
||||
|
||||
// 错误类型,详见 错误
|
||||
private String error_type;
|
||||
|
||||
// 当发生参数错误时返回具体的参数名,便于定位错误原因,详见 错误
|
||||
private String invalid_param;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 分账对象信息
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class DivMembers {
|
||||
// 分账用户 Member对象 的 id;若是商户本身时,传入0
|
||||
private String member_id;
|
||||
|
||||
// 分账金额,精确到分,如0.50,1.00等,分账总金额必须等于主交易金额,金额不能为0.00
|
||||
private String amount;
|
||||
|
||||
// 是否手续费承担方,N-否,Y-是,手续费承担方有且只能有一个
|
||||
private String fee_flag;
|
||||
|
||||
// 控制台 主页面应用的app_id,不上送默认取商户自身app_id
|
||||
private String app_id;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 结算账户
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class SettleAccount {
|
||||
// 由 Adapay 生成的结算账户对象 id
|
||||
private String id;
|
||||
|
||||
// 结算账户对象,settle_account
|
||||
private String object;
|
||||
|
||||
// 目前仅支持:bank_account(银行卡)
|
||||
private String channel;
|
||||
|
||||
// 创建时的时间戳
|
||||
private String create_time;
|
||||
|
||||
// 是否 prod模式,true 是 prod模式,false 是 mock模式
|
||||
private String prod_mode;
|
||||
|
||||
// 结算账户信息,参见 结算账户信息对象
|
||||
private String account_info;
|
||||
|
||||
// 当前交易状态,参见 状态 说明
|
||||
private String status;
|
||||
|
||||
// 错误码,详见 错误
|
||||
private String error_code;
|
||||
|
||||
// 错误描述,详见 错误
|
||||
private String error_msg;
|
||||
|
||||
// 错误类型,详见 错误
|
||||
private String error_type;
|
||||
|
||||
// 当发生参数错误时返回具体的参数名,便于定位错误原因,详见 错误
|
||||
private String invalid_param;
|
||||
}
|
||||
@@ -69,7 +69,7 @@ public class AdapayMemberService {
|
||||
}
|
||||
log.info("=======execute CreateMember begin=======");
|
||||
Map<String, Object> memberParams = Maps.newHashMap();
|
||||
String adapayMemberId = "AM" + IdUtils.getMemberId();
|
||||
String adapayMemberId = Constants.ADAPAY_MEMBER_PREFIX + IdUtils.getMemberId();
|
||||
memberParams.put("member_id", adapayMemberId);
|
||||
memberParams.put("app_id", ADAPAY_APP_ID);
|
||||
memberParams.put("location", dto.getLocation());
|
||||
@@ -154,18 +154,31 @@ public class AdapayMemberService {
|
||||
}
|
||||
|
||||
String adapayMemberId = adapayMemberAccount.getAdapayMemberId();
|
||||
String settleAccountId = adapayMemberAccount.getSettleAccountId();
|
||||
String bankAcctType;
|
||||
if (StringUtils.startsWith(adapayMemberId, Constants.ADAPAY_MEMBER_PREFIX)) {
|
||||
bankAcctType = Constants.ONE;
|
||||
// 查询个人用户
|
||||
AdapayMemberInfoVO adapayMemberInfoVO = queryAdapayMemberInfo(adapayMemberId);
|
||||
if (adapayMemberInfoVO != null) {
|
||||
adapayMemberInfoVO.setMerchantId(merchantId);
|
||||
}
|
||||
AdapaySettleAccountVO adapaySettleAccountVO = queryAdapaySettleAccount(adapayMemberId, adapayMemberAccount.getSettleAccountId());
|
||||
if (adapaySettleAccountVO != null) {
|
||||
adapaySettleAccountVO.setMerchantId(merchantId);
|
||||
}
|
||||
map.put("adapayMember", adapayMemberInfoVO);
|
||||
map.put("settleAccountList", Lists.newArrayList(adapaySettleAccountVO));
|
||||
|
||||
AdapayMemberInfoVO adapayMemberInfoVO = queryAdapayMemberInfo(adapayMemberId);
|
||||
if (adapayMemberInfoVO != null) {
|
||||
adapayMemberInfoVO.setMerchantId(merchantId);
|
||||
} else {
|
||||
bankAcctType = Constants.TWO;
|
||||
// 查询企业用户
|
||||
queryCorpAdapayMemberInfo(adapayMemberId);
|
||||
}
|
||||
AdapaySettleAccountVO adapaySettleAccountVO = queryAdapaySettleAccount(adapayMemberId, settleAccountId);
|
||||
if (adapaySettleAccountVO != null) {
|
||||
adapaySettleAccountVO.setMerchantId(merchantId);
|
||||
}
|
||||
map.put("adapayMember", adapayMemberInfoVO);
|
||||
map.put("settleAccountList", Lists.newArrayList(adapaySettleAccountVO));
|
||||
|
||||
|
||||
|
||||
|
||||
map.put("bankAcctType", bankAcctType);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -198,6 +211,24 @@ public class AdapayMemberService {
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询企业用户信息
|
||||
*/
|
||||
public AdapayMemberInfoVO queryCorpAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException {
|
||||
Map<String, Object> memberParams = Maps.newHashMap();
|
||||
memberParams.put("member_id", adapayMemberId);
|
||||
memberParams.put("app_id", ADAPAY_APP_ID);
|
||||
Map<String, Object> member = CorpMember.query(memberParams);
|
||||
|
||||
if (member == null || member.isEmpty() || !"succeeded".equals(member.get("status"))) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询汇付结算账户信息
|
||||
*/
|
||||
@@ -302,7 +333,7 @@ public class AdapayMemberService {
|
||||
*/
|
||||
public void createCorpMember(CreateSettleAccountDTO dto) throws BaseAdaPayException, IOException {
|
||||
Map<String, Object> memberParams = Maps.newHashMap();
|
||||
String adapayMemberId = "ACM" + IdUtils.getMemberId();
|
||||
String adapayMemberId = Constants.ADAPAY_CORP_MEMBER_PREFIX + IdUtils.getMemberId();
|
||||
memberParams.put("member_id", adapayMemberId);
|
||||
memberParams.put("app_id", ADAPAY_APP_ID);
|
||||
memberParams.put("order_no", "jsdk_order" + System.currentTimeMillis());
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.jsowell.adapay.vo;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class AdapayCorpMemberInfoVO {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user