mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +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.adapay.vo.AdapayAccountBalanceVO;
|
||||||
import com.jsowell.common.core.controller.BaseController;
|
import com.jsowell.common.core.controller.BaseController;
|
||||||
import com.jsowell.common.core.domain.AjaxResult;
|
import com.jsowell.common.core.domain.AjaxResult;
|
||||||
|
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
|
import com.jsowell.common.util.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -37,6 +39,9 @@ public class AdapayMemberController extends BaseController {
|
|||||||
logger.info("创建结算账户接口 param:{}", JSON.toJSONString(dto));
|
logger.info("创建结算账户接口 param:{}", JSON.toJSONString(dto));
|
||||||
AjaxResult result;
|
AjaxResult result;
|
||||||
try {
|
try {
|
||||||
|
if (StringUtils.isBlank(dto.getMerchantId())) {
|
||||||
|
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||||
|
}
|
||||||
adapayMemberService.createSettleAccount(dto);
|
adapayMemberService.createSettleAccount(dto);
|
||||||
result = AjaxResult.success();
|
result = AjaxResult.success();
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
@@ -56,10 +61,16 @@ public class AdapayMemberController extends BaseController {
|
|||||||
public AjaxResult selectAdapayMember(@RequestBody AdapayMemberInfoDTO dto) {
|
public AjaxResult selectAdapayMember(@RequestBody AdapayMemberInfoDTO dto) {
|
||||||
AjaxResult result;
|
AjaxResult result;
|
||||||
try {
|
try {
|
||||||
|
if (StringUtils.isBlank(dto.getMerchantId())) {
|
||||||
|
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||||
|
}
|
||||||
Map<String, Object> map = adapayMemberService.selectAdapayMember(dto.getMerchantId());
|
Map<String, Object> map = adapayMemberService.selectAdapayMember(dto.getMerchantId());
|
||||||
result = AjaxResult.success(map);
|
result = AjaxResult.success(map);
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
logger.warn("查询汇付会员接口异常warn", e);
|
||||||
|
result = AjaxResult.error(e.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("查询汇付会员接口异常", e);
|
logger.error("查询汇付会员接口异常error", e);
|
||||||
result = AjaxResult.error("查询汇付会员接口异常");
|
result = AjaxResult.error("查询汇付会员接口异常");
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -225,4 +225,10 @@ public class Constants {
|
|||||||
|
|
||||||
// N-否
|
// N-否
|
||||||
public static final String N = "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=======");
|
log.info("=======execute CreateMember begin=======");
|
||||||
Map<String, Object> memberParams = Maps.newHashMap();
|
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("member_id", adapayMemberId);
|
||||||
memberParams.put("app_id", ADAPAY_APP_ID);
|
memberParams.put("app_id", ADAPAY_APP_ID);
|
||||||
memberParams.put("location", dto.getLocation());
|
memberParams.put("location", dto.getLocation());
|
||||||
@@ -154,18 +154,31 @@ public class AdapayMemberService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String adapayMemberId = adapayMemberAccount.getAdapayMemberId();
|
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);
|
AdapayMemberInfoVO adapayMemberInfoVO = queryAdapayMemberInfo(adapayMemberId);
|
||||||
if (adapayMemberInfoVO != null) {
|
if (adapayMemberInfoVO != null) {
|
||||||
adapayMemberInfoVO.setMerchantId(merchantId);
|
adapayMemberInfoVO.setMerchantId(merchantId);
|
||||||
}
|
}
|
||||||
AdapaySettleAccountVO adapaySettleAccountVO = queryAdapaySettleAccount(adapayMemberId, settleAccountId);
|
AdapaySettleAccountVO adapaySettleAccountVO = queryAdapaySettleAccount(adapayMemberId, adapayMemberAccount.getSettleAccountId());
|
||||||
if (adapaySettleAccountVO != null) {
|
if (adapaySettleAccountVO != null) {
|
||||||
adapaySettleAccountVO.setMerchantId(merchantId);
|
adapaySettleAccountVO.setMerchantId(merchantId);
|
||||||
}
|
}
|
||||||
map.put("adapayMember", adapayMemberInfoVO);
|
map.put("adapayMember", adapayMemberInfoVO);
|
||||||
map.put("settleAccountList", Lists.newArrayList(adapaySettleAccountVO));
|
map.put("settleAccountList", Lists.newArrayList(adapaySettleAccountVO));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
bankAcctType = Constants.TWO;
|
||||||
|
// 查询企业用户
|
||||||
|
queryCorpAdapayMemberInfo(adapayMemberId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
map.put("bankAcctType", bankAcctType);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,6 +211,24 @@ public class AdapayMemberService {
|
|||||||
return resultVO;
|
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 {
|
public void createCorpMember(CreateSettleAccountDTO dto) throws BaseAdaPayException, IOException {
|
||||||
Map<String, Object> memberParams = Maps.newHashMap();
|
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("member_id", adapayMemberId);
|
||||||
memberParams.put("app_id", ADAPAY_APP_ID);
|
memberParams.put("app_id", ADAPAY_APP_ID);
|
||||||
memberParams.put("order_no", "jsdk_order" + System.currentTimeMillis());
|
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