feat: 新增受益人校验
parent
fae913fcae
commit
c2e22c1f77
|
|
@ -254,4 +254,19 @@ public class AccountService {
|
|||
HttpResponse<OpenAccountCompanyResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), OpenAccountCompanyResponse.class);
|
||||
return httpResponse.getServiceResponse();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 223508-受益人校验
|
||||
*
|
||||
* @author yuchuan
|
||||
* @since 2026/01/23
|
||||
*/
|
||||
public BeneficiaryQueryResponse beneficiaryQuery(BeneficiaryQueryRequest request) {
|
||||
String url = "/t-account-beneficiary/qcc-query";
|
||||
HttpResponse<BeneficiaryQueryResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
|
||||
request.toJsonRequest(), BeneficiaryQueryResponse.class);
|
||||
return httpResponse.getServiceResponse();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
import com.czcb.scfs.api.core.ApiRequest;
|
||||
import com.czcb.scfs.api.core.agrs.TransType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 223508-受益人校验
|
||||
*
|
||||
* @author yuchuan
|
||||
* @since 2026/01/23
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TransType("223508")
|
||||
public class BeneficiaryQueryRequest implements ApiRequest {
|
||||
/**
|
||||
* 渠道编号
|
||||
*/
|
||||
@SerializedName("channel_no")
|
||||
private String channelNo;
|
||||
|
||||
/**
|
||||
* 应用编号
|
||||
*/
|
||||
@SerializedName("app_no")
|
||||
private String appNo;
|
||||
|
||||
/**
|
||||
* 流水号
|
||||
*/
|
||||
@SerializedName("serial_no")
|
||||
private String serialNo;
|
||||
|
||||
/**
|
||||
* 操作日期YYYY-MM-DD
|
||||
*/
|
||||
@SerializedName("trans_date")
|
||||
private String transDate;
|
||||
|
||||
/**
|
||||
* 操作时间YYYY-MM-DD hh:mm:ss
|
||||
*/
|
||||
@SerializedName("trans_tradetime")
|
||||
private String transTradeTime;
|
||||
|
||||
|
||||
/**
|
||||
* 统一社会信用代码
|
||||
*/
|
||||
@SerializedName("credit_code")
|
||||
private String creditCode;
|
||||
|
||||
/**
|
||||
* 是否获取企业工商信息 1是0否
|
||||
*/
|
||||
@SerializedName("is_get_company_info")
|
||||
private String isGetCompanyInfo;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
import com.czcb.scfs.api.core.ApiResponse;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 223508-受益人校验
|
||||
*
|
||||
* @author yuchuan
|
||||
* @since 2026/01/23
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class BeneficiaryQueryResponse implements ApiResponse {
|
||||
/**
|
||||
* 000000:表示成功
|
||||
*/
|
||||
@SerializedName("recode")
|
||||
private String recode;
|
||||
|
||||
/**
|
||||
* 结果信息
|
||||
*/
|
||||
@SerializedName("recode_info")
|
||||
private String recodeInfo;
|
||||
|
||||
/**
|
||||
* 系统流水号
|
||||
*/
|
||||
@SerializedName("sys_serial_no")
|
||||
private String sysSerialNo;
|
||||
|
||||
/**
|
||||
* 系统日期(YYYY-MM-DD)
|
||||
*/
|
||||
@SerializedName("sys_date")
|
||||
private String sysDate;
|
||||
|
||||
/**
|
||||
* 系统时间(YYYY-MM-DD hh:mm:ss)
|
||||
*/
|
||||
@SerializedName("sys_time")
|
||||
private String sysTime;
|
||||
|
||||
|
||||
@SerializedName("qcc_company_info")
|
||||
private QccCompanyInfo qccCompanyInfo;
|
||||
|
||||
//25%以上股权
|
||||
@SerializedName("qcc_break_through_list")
|
||||
private List<QccBreakThrough> qccBreakThroughList;
|
||||
|
||||
//25%以上表决权、收益权
|
||||
@SerializedName("qcc_criterion_2nd_info_list")
|
||||
private List<QccCriterion2ndInfo> qccCriterion2ndInfoList;
|
||||
|
||||
//控制/影响自然人
|
||||
@SerializedName("qcc_criterion_3rd_info_list")
|
||||
private List<QccCriterion3rdInfo> qccCriterion3rdInfoList;
|
||||
|
||||
//日常经营管理人员
|
||||
@SerializedName("qcc_manager_list")
|
||||
private List<QccManager> qccManagerList;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -261,65 +261,71 @@ public class OpenAccountCompanyRequest implements ApiRequest {
|
|||
@SerializedName("operator_opto")
|
||||
private String operatorOpto;
|
||||
|
||||
/**
|
||||
* 受益人姓名
|
||||
*/
|
||||
@SerializedName("bene_name")
|
||||
private String beneName;
|
||||
// /**
|
||||
// * 受益人姓名
|
||||
// */
|
||||
// @SerializedName("bene_name")
|
||||
// private String beneName;
|
||||
//
|
||||
// /**
|
||||
// * 受益人性别0:男 1:女
|
||||
// */
|
||||
// @SerializedName("bene_sex")
|
||||
// private String beneSex;
|
||||
//
|
||||
// /**
|
||||
// * 受益人国籍 默认中国
|
||||
// */
|
||||
// @SerializedName("bene_nationality")
|
||||
// private String beneNationality;
|
||||
//
|
||||
// /**
|
||||
// * 受益人是否股东 1:是 2:否
|
||||
// */
|
||||
// @SerializedName("bene_is_shareholider")
|
||||
// private String beneIsShareholider;
|
||||
//
|
||||
// /**
|
||||
// * 受益人持股比例(百分比)
|
||||
// */
|
||||
// @SerializedName("bene_ratio")
|
||||
// private String beneRatio;
|
||||
//
|
||||
// /**
|
||||
// * 受益人地址
|
||||
// */
|
||||
// @SerializedName("bene_addr")
|
||||
// private String beneAddr;
|
||||
//
|
||||
// /**
|
||||
// * 受益人证件类型
|
||||
// */
|
||||
// @SerializedName("bene_id_type")
|
||||
// private String beneIdType;
|
||||
//
|
||||
// /**
|
||||
// * 受益人证件号码
|
||||
// */
|
||||
// @SerializedName("bene_id_no")
|
||||
// private String beneIdNo;
|
||||
//
|
||||
// /**
|
||||
// * 受益人证件有效期 yyyy-MM-dd
|
||||
// */
|
||||
// @SerializedName("bene_opto")
|
||||
// private String beneOpto;
|
||||
//
|
||||
// /**
|
||||
// * 受益所有人
|
||||
// */
|
||||
// @SerializedName("bene_owner")
|
||||
// private String beneOwner;
|
||||
|
||||
/**
|
||||
* 受益人性别0:男 1:女
|
||||
* 受益人List
|
||||
*/
|
||||
@SerializedName("bene_sex")
|
||||
private String beneSex;
|
||||
|
||||
/**
|
||||
* 受益人国籍 默认中国
|
||||
*/
|
||||
@SerializedName("bene_nationality")
|
||||
private String beneNationality;
|
||||
|
||||
/**
|
||||
* 受益人是否股东 1:是 2:否
|
||||
*/
|
||||
@SerializedName("bene_is_shareholider")
|
||||
private String beneIsShareholider;
|
||||
|
||||
/**
|
||||
* 受益人持股比例(百分比)
|
||||
*/
|
||||
@SerializedName("bene_ratio")
|
||||
private String beneRatio;
|
||||
|
||||
/**
|
||||
* 受益人地址
|
||||
*/
|
||||
@SerializedName("bene_addr")
|
||||
private String beneAddr;
|
||||
|
||||
/**
|
||||
* 受益人证件类型
|
||||
*/
|
||||
@SerializedName("bene_id_type")
|
||||
private String beneIdType;
|
||||
|
||||
/**
|
||||
* 受益人证件号码
|
||||
*/
|
||||
@SerializedName("bene_id_no")
|
||||
private String beneIdNo;
|
||||
|
||||
/**
|
||||
* 受益人证件有效期 yyyy-MM-dd
|
||||
*/
|
||||
@SerializedName("bene_opto")
|
||||
private String beneOpto;
|
||||
|
||||
/**
|
||||
* 受益所有人
|
||||
*/
|
||||
@SerializedName("bene_owner")
|
||||
private String beneOwner;
|
||||
@SerializedName("beneficiary_list")
|
||||
private List<TAccountBeneficiaryVO> beneficiaryList;
|
||||
|
||||
/**
|
||||
* 开户资料信息
|
||||
|
|
@ -369,6 +375,88 @@ public class OpenAccountCompanyRequest implements ApiRequest {
|
|||
@SerializedName("trans_tradetime")
|
||||
private String transTradeTime;
|
||||
|
||||
@Data
|
||||
public static class TAccountBeneficiaryVO implements Serializable {
|
||||
|
||||
@SerializedName("bene_name")
|
||||
private String beneName;//受益人姓名
|
||||
@SerializedName("bene_id_type")
|
||||
private String beneIdType;//受益人证件类型
|
||||
@SerializedName("bene_id_no")
|
||||
private String beneIdNo;//受益人证件号码
|
||||
@SerializedName("bene_opto")
|
||||
private String beneOpto;//受益人证件有效期
|
||||
@SerializedName("bene_sex")
|
||||
private String beneSex;//受益人性别
|
||||
@SerializedName("bene_nationality")
|
||||
private String beneNationality;//受益人国籍
|
||||
@SerializedName("bene_birthday")
|
||||
private String beneBirthday;//受益人出生日期
|
||||
@SerializedName("bene_address")
|
||||
private String beneAddress;//受益人地址
|
||||
@SerializedName("bene_mobile")
|
||||
private String beneMobile;//受益人联系电话
|
||||
|
||||
@SerializedName("act_ctrl")
|
||||
private String actCtrl;//是否直接或间接拥有公司、合伙企业25%以上股权、股份份额、合伙权益 Y-是 N-否
|
||||
@SerializedName("act_hd_rat")
|
||||
private String actHdRat;//持有股权、股份、合伙权益的比例(%) 小数点后两位
|
||||
@SerializedName("share_ratio_start_date")
|
||||
private String shareRatioStartDate;//受益所有权形成日期(25%以上股权、股份) yyyy-MM-dd
|
||||
@SerializedName("share_ratio_end_date")
|
||||
private String shareRatioEndDate;//受益所有权终止日期(25%以上股权、股份) yyyy-MM-dd
|
||||
|
||||
@SerializedName("pri_benfit")
|
||||
private String priBenfit;//是否是可最终获得公司、合伙企业25%以上收益权,表决权 Y-是 N-否
|
||||
@SerializedName("act_owner_profit_ratio")
|
||||
private String actOwnerProfitRatio;//收益权比例(%)小数点后两位
|
||||
@SerializedName("profit_ratio_start_date")
|
||||
private String profitRatioStartDate;//受益所有权形成日期(收益权) yyyy-MM-dd
|
||||
@SerializedName("profit_ratio_end_date")
|
||||
private String profitRatioEndDate;//受益所有权终止日期(收益权) yyyy-MM-dd
|
||||
@SerializedName("act_owner_profit_ratio_vote")
|
||||
private String actOwnerProfitRatioVote;//表决权比例(%)小数点后两
|
||||
@SerializedName("profit_ratio_vote_start_date")
|
||||
private String profitRatioVoteStartDate;//表决所有权形成日期(表决权) yyyy-MM-dd
|
||||
@SerializedName("profit_ratio_vote_end_date")
|
||||
private String profitRatioVoteEndDate;//表决所有权终止日期(表决权) yyyy-MM-dd
|
||||
|
||||
@SerializedName("act_ctrl_cpny")
|
||||
private String actCtrlCpny;//实际控制公司、合伙企业对应的类型 2 协议约定形式 3 其他形式
|
||||
@SerializedName("act_ctrl_type")
|
||||
private String actCtrlType;//实施实际控制的内容/形式 0 决定法定代表人、董事、监事、高级管理人员的任免 1 决定公司或者合伙企业重大经营、管理决策的制定或者执行 2 决定公司公司或者合伙企业的财务收支 3 长期实际支配使用公司公司或者合伙企业重要资产或者主要资金
|
||||
@SerializedName("obtain_act_date")
|
||||
private String obtainActDate;//受益所有权形成日期(实施实际控制) yyyy-MM-dd
|
||||
@SerializedName("termination_act_date")
|
||||
private String terminationActDate;//受益所有权终止日期(实施实际控制) yyyy-MM-dd
|
||||
@SerializedName("act_con_upper_market")
|
||||
private String actConUpperMarket;//是否存在上一层备案主体 Y-是 N-否
|
||||
@SerializedName("act_con_upper_ent_name")
|
||||
private String actConUpperEntName;//实际控制备案主体的上一层备案主体名称
|
||||
@SerializedName("act_con_uni_scid")
|
||||
private String actConUniScid;//实际控制备案主体的统一社会信用代码
|
||||
@SerializedName("act_other_forms")
|
||||
private String actOtherForms;//其它形式详细内容(文本)
|
||||
|
||||
@SerializedName("senior_mgr")
|
||||
private String seniorMgr;//是否为负责日常经营管理的(高级管理)人员 Y-是 N-否
|
||||
@SerializedName("senior_mgr_pos")
|
||||
private String seniorMgrPos;//负责日常经营管理的(高级管理)人员职位 10 法定代表人 11 董事长 12 经理 13 董事 14 执行合伙事务的自然人 15 其他人员
|
||||
@SerializedName("act_daily_mgmt_post_other")
|
||||
private String actDailyMgmtPostOther;//公司章程规定的其他(高级管理)人员的具体职位
|
||||
|
||||
@SerializedName("senior_mgr_cn")
|
||||
private String seniorMgrCn;//是否为在华最高层级的高级管理人员 Y-是 N-否
|
||||
@SerializedName("senior_mgr_pos_cn")
|
||||
private String seniorMgrPosCn;//在华最高层级的高级管理职位 0 分支机构负责人 1 其他高级管理人员
|
||||
@SerializedName("ben_start_date")
|
||||
private String benStartDate;//受益所有权形成日期
|
||||
@SerializedName("ben_end_date")
|
||||
private String benEndDate;//受益所有权终止日期
|
||||
@SerializedName("owner_right_mgmt_post_other")
|
||||
private String ownerRightMgmtPostOther;//在华最高层级的高级管理其他职位(文本)
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class FileList implements Serializable {
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccBreakThrough implements Serializable {
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 人员keyNo
|
||||
*/
|
||||
@SerializedName("key_no")
|
||||
private String keyNo;
|
||||
|
||||
/**
|
||||
* 持股类型(直接持股、间接持股、直接和间接持股)
|
||||
*/
|
||||
@SerializedName("benifit_type")
|
||||
private String benifitType;
|
||||
|
||||
/**
|
||||
* 受益所有人穿透总持股比例
|
||||
*/
|
||||
@SerializedName("total_stock_percent")
|
||||
private String totalStockPercent;
|
||||
|
||||
/**
|
||||
* 受益所有人穿透总持股比例计算过程
|
||||
*/
|
||||
@SerializedName("calculation")
|
||||
private String calculation;
|
||||
|
||||
/**
|
||||
* 任职类型
|
||||
*/
|
||||
@SerializedName("position")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 受益所有权形成日期
|
||||
*/
|
||||
@SerializedName("ubo_date")
|
||||
private String uboDate;
|
||||
|
||||
@SerializedName("is_recommend")
|
||||
private Boolean isRecommend;
|
||||
|
||||
@SerializedName("qcc_break_through_detail_list")
|
||||
private List<QccBreakThroughDetail> qccBreakThroughDetailList;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccBreakThroughDetail implements Serializable {
|
||||
|
||||
/**
|
||||
* 出资类型
|
||||
*/
|
||||
@SerializedName("capital_type")
|
||||
private String capitalType;
|
||||
|
||||
/**
|
||||
* 层级关系
|
||||
*/
|
||||
@SerializedName("path")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 持股比例
|
||||
*/
|
||||
@SerializedName("stock_percent")
|
||||
private String stockPercent;
|
||||
|
||||
/**
|
||||
* 层级
|
||||
*/
|
||||
@SerializedName("level")
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 持股方式(直接、间接)
|
||||
*/
|
||||
@SerializedName("stock_type")
|
||||
private String stockType;
|
||||
|
||||
/**
|
||||
* 认缴出资额/持股数
|
||||
*/
|
||||
@SerializedName("should_capi")
|
||||
private String shouldCapi;
|
||||
|
||||
/**
|
||||
* 当前穿透持股比例
|
||||
*/
|
||||
@SerializedName("breakthrough_stock_percent")
|
||||
private String breakthroughStockPercent;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,198 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccCompanyInfo implements Serializable {
|
||||
|
||||
/**
|
||||
* 是否海外企业
|
||||
*/
|
||||
@SerializedName("is_overseas_company")
|
||||
private String isOverseasCompany;
|
||||
|
||||
/**
|
||||
* 受益所有人识别快照id
|
||||
*/
|
||||
@SerializedName("snapshot_id")
|
||||
private String snapshotId;
|
||||
|
||||
/**
|
||||
* 登记状态
|
||||
*/
|
||||
@SerializedName("status")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 注册资本
|
||||
*/
|
||||
@SerializedName("regist_capi")
|
||||
private String registCapi;
|
||||
|
||||
/**
|
||||
* 统一社会信用代码
|
||||
*/
|
||||
@SerializedName("credit_code")
|
||||
private String creditCode;
|
||||
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
@SerializedName("tax_no")
|
||||
private String taxNo;
|
||||
|
||||
/**
|
||||
* 员工人数
|
||||
*/
|
||||
@SerializedName("staffs")
|
||||
private String staffs;
|
||||
|
||||
/**
|
||||
* 登记机关
|
||||
*/
|
||||
@SerializedName("belong_org")
|
||||
private String belongOrg;
|
||||
|
||||
/**
|
||||
* 工商注册号
|
||||
*/
|
||||
@SerializedName("no")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 公司类型
|
||||
*/
|
||||
@SerializedName("econ_kind")
|
||||
private String econKind;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@SerializedName("address")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 所属行业
|
||||
*/
|
||||
@SerializedName("industry_v3")
|
||||
private String industryV3;
|
||||
|
||||
/**
|
||||
* 组织机构代码
|
||||
*/
|
||||
@SerializedName("org_no")
|
||||
private String orgNo;
|
||||
|
||||
/**
|
||||
* 法人信息
|
||||
*/
|
||||
@SerializedName("oper")
|
||||
private String oper;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 经营期限开始日期
|
||||
*/
|
||||
@SerializedName("term_start")
|
||||
private String termStart;
|
||||
|
||||
/**
|
||||
* 公司key_no
|
||||
*/
|
||||
@SerializedName("key_no")
|
||||
private String keyNo;
|
||||
|
||||
/**
|
||||
* 经营期限截止日期
|
||||
*/
|
||||
@SerializedName("team_end")
|
||||
private String teamEnd;
|
||||
|
||||
/**
|
||||
* 区、城镇
|
||||
*/
|
||||
@SerializedName("city")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 市
|
||||
*/
|
||||
@SerializedName("county")
|
||||
private String county;
|
||||
|
||||
/**
|
||||
* 省
|
||||
*/
|
||||
@SerializedName("province")
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 经营范围
|
||||
*/
|
||||
@SerializedName("scope")
|
||||
private String scope;
|
||||
|
||||
/**
|
||||
* 核准日期
|
||||
*/
|
||||
@SerializedName("check_date")
|
||||
private String checkDate;
|
||||
|
||||
/**
|
||||
* 经营状态
|
||||
*/
|
||||
@SerializedName("short_status")
|
||||
private String shortStatus;
|
||||
|
||||
/**
|
||||
* 英文名称
|
||||
*/
|
||||
@SerializedName("english_name")
|
||||
private String englishName;
|
||||
|
||||
/**
|
||||
* 实缴资本
|
||||
*/
|
||||
@SerializedName("rec_cap")
|
||||
private String recCap;
|
||||
|
||||
/**
|
||||
* 进出口企业代码
|
||||
*/
|
||||
@SerializedName("ix_code")
|
||||
private String ixCode;
|
||||
|
||||
/**
|
||||
* 纳税人资质
|
||||
*/
|
||||
@SerializedName("taxpayer_type")
|
||||
private String taxpayerType;
|
||||
|
||||
/**
|
||||
* 员工规模
|
||||
*/
|
||||
@SerializedName("staff_scale")
|
||||
private String staffScale;
|
||||
|
||||
@SerializedName("paid_count")
|
||||
private String paidCount;
|
||||
|
||||
@SerializedName("ubo_category")
|
||||
private String uboCategory;
|
||||
|
||||
@SerializedName("subject_type")
|
||||
private String subjectType;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccCriterion2ndInfo implements Serializable {
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 人员keyNo
|
||||
*/
|
||||
@SerializedName("key_no")
|
||||
private String keyNo;
|
||||
|
||||
/**
|
||||
* 直接持股比例
|
||||
*/
|
||||
@SerializedName("percent")
|
||||
private String percent;
|
||||
|
||||
/**
|
||||
* 受益所有权形成日期
|
||||
*/
|
||||
@SerializedName("ubo_date")
|
||||
private String uboDate;
|
||||
|
||||
/**
|
||||
* 表决权比例
|
||||
*/
|
||||
@SerializedName("voting_percent")
|
||||
private String votingPercent;
|
||||
|
||||
/**
|
||||
* 表决权比例
|
||||
*/
|
||||
@SerializedName("total_Stock_percent")
|
||||
private String totalStockPercent;
|
||||
|
||||
/**
|
||||
* 表决权是否共同持有(1:是,0:否)
|
||||
*/
|
||||
@SerializedName("merge_ind")
|
||||
private String mergeInd;
|
||||
|
||||
@SerializedName("is_recommend")
|
||||
private Boolean isRecommend;
|
||||
|
||||
//25%以上表决权、收益权控制链
|
||||
@SerializedName("qcc_voting_path_list")
|
||||
private List<QccVotingPath> qccVotingPathList;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccCriterion3rdInfo implements Serializable {
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 人员keyNo
|
||||
*/
|
||||
@SerializedName("key_no")
|
||||
private String keyNo;
|
||||
|
||||
/**
|
||||
* 任职类型
|
||||
*/
|
||||
@SerializedName("position")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 受益所有权形成日期
|
||||
*/
|
||||
@SerializedName("ubo_date")
|
||||
private String uboDate;
|
||||
|
||||
@SerializedName("is_recommend")
|
||||
private Boolean isRecommend;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccManager implements Serializable {
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 人员keyNo
|
||||
*/
|
||||
@SerializedName("key_no")
|
||||
private String keyNo;
|
||||
|
||||
/**
|
||||
* 任职类型
|
||||
*/
|
||||
@SerializedName("position")
|
||||
private String position;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package com.czcb.scfs.api.service.v2.account.model;
|
||||
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class QccVotingPath implements Serializable {
|
||||
|
||||
/**
|
||||
* 企业名称或者人名
|
||||
*/
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 名称类型(C:企业,P:人员)
|
||||
*/
|
||||
@SerializedName("name_type")
|
||||
private String nameType;
|
||||
|
||||
/**
|
||||
* 层级
|
||||
*/
|
||||
@SerializedName("level")
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 控制权/表决权
|
||||
*/
|
||||
@SerializedName("percent")
|
||||
private String percent;
|
||||
}
|
||||
|
|
@ -1346,9 +1346,9 @@ class AccountServiceTest {
|
|||
request.setTransTradeTime("setTransTradeTime");
|
||||
request.setControllerOpto("setControllerOpto");
|
||||
request.setOperatorIdType("setOperatorIdType");
|
||||
request.setBeneIsShareholider("setBeneIsShareholider");
|
||||
// request.setBeneIsShareholider("setBeneIsShareholider");
|
||||
request.setOperatorIdName("setOperatorIdName");
|
||||
request.setBeneNationality("setBeneNationality");
|
||||
// request.setBeneNationality("setBeneNationality");
|
||||
request.setControllerIdType("setControllerIdType");
|
||||
request.setControllerIdName("setControllerIdName");
|
||||
request.setOperatorMobile("setOperatorMobile");
|
||||
|
|
@ -1358,15 +1358,15 @@ class AccountServiceTest {
|
|||
request.setLeaderMobile("setLeaderMobile");
|
||||
request.setLeaderOpto("setLeaderOpto");
|
||||
request.setOperatorIdNo("setOperatorIdNo");
|
||||
request.setBeneName("setBeneName");
|
||||
// request.setBeneName("setBeneName");
|
||||
request.setOperatorOpto("setOperatorOpto");
|
||||
request.setBeneSex("setBeneSex");
|
||||
// request.setBeneSex("setBeneSex");
|
||||
request.setCompanyIdType("setCompanyIdType");
|
||||
request.setBeneRatio("setBeneRatio");
|
||||
request.setBeneAddr("setBeneAddr");
|
||||
request.setBeneIdType("setBeneIdType");
|
||||
request.setBeneIdNo("setBeneIdNo");
|
||||
request.setBeneOpto("setBeneOpto");
|
||||
// request.setBeneRatio("setBeneRatio");
|
||||
// request.setBeneAddr("setBeneAddr");
|
||||
// request.setBeneIdType("setBeneIdType");
|
||||
// request.setBeneIdNo("setBeneIdNo");
|
||||
// request.setBeneOpto("setBeneOpto");
|
||||
request.setAccountClass("setAccountClass");
|
||||
request.setCompanyIdName("setCompanyIdName");
|
||||
request.setCompanyIdNo("setCompanyIdNo");
|
||||
|
|
@ -1375,7 +1375,7 @@ class AccountServiceTest {
|
|||
request.setLeaderIdNo("setLeaderIdNo");
|
||||
request.setLeaderIdName("setLeaderIdName");
|
||||
request.setZsopscope("setZsopscope");
|
||||
request.setBeneOwner("setBeneOwner");
|
||||
// request.setBeneOwner("setBeneOwner");
|
||||
OpenAccountCompanyRequest.FileList filelist = new OpenAccountCompanyRequest.FileList();
|
||||
extractedOpenAccountCompanyRequestFileListNestParams(filelist);
|
||||
request.setFileList(Lists.list(filelist));
|
||||
|
|
@ -1421,9 +1421,9 @@ class AccountServiceTest {
|
|||
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
|
||||
Assertions.assertEquals("setControllerOpto", request.getControllerOpto());
|
||||
Assertions.assertEquals("setOperatorIdType", request.getOperatorIdType());
|
||||
Assertions.assertEquals("setBeneIsShareholider", request.getBeneIsShareholider());
|
||||
// Assertions.assertEquals("setBeneIsShareholider", request.getBeneIsShareholider());
|
||||
Assertions.assertEquals("setOperatorIdName", request.getOperatorIdName());
|
||||
Assertions.assertEquals("setBeneNationality", request.getBeneNationality());
|
||||
// Assertions.assertEquals("setBeneNationality", request.getBeneNationality());
|
||||
Assertions.assertEquals("setControllerIdType", request.getControllerIdType());
|
||||
Assertions.assertEquals("setControllerIdName", request.getControllerIdName());
|
||||
Assertions.assertEquals("setOperatorMobile", request.getOperatorMobile());
|
||||
|
|
@ -1433,15 +1433,15 @@ class AccountServiceTest {
|
|||
Assertions.assertEquals("setLeaderMobile", request.getLeaderMobile());
|
||||
Assertions.assertEquals("setLeaderOpto", request.getLeaderOpto());
|
||||
Assertions.assertEquals("setOperatorIdNo", request.getOperatorIdNo());
|
||||
Assertions.assertEquals("setBeneName", request.getBeneName());
|
||||
// Assertions.assertEquals("setBeneName", request.getBeneName());
|
||||
Assertions.assertEquals("setOperatorOpto", request.getOperatorOpto());
|
||||
Assertions.assertEquals("setBeneSex", request.getBeneSex());
|
||||
// Assertions.assertEquals("setBeneSex", request.getBeneSex());
|
||||
Assertions.assertEquals("setCompanyIdType", request.getCompanyIdType());
|
||||
Assertions.assertEquals("setBeneRatio", request.getBeneRatio());
|
||||
Assertions.assertEquals("setBeneAddr", request.getBeneAddr());
|
||||
Assertions.assertEquals("setBeneIdType", request.getBeneIdType());
|
||||
Assertions.assertEquals("setBeneIdNo", request.getBeneIdNo());
|
||||
Assertions.assertEquals("setBeneOpto", request.getBeneOpto());
|
||||
// Assertions.assertEquals("setBeneRatio", request.getBeneRatio());
|
||||
// Assertions.assertEquals("setBeneAddr", request.getBeneAddr());
|
||||
// Assertions.assertEquals("setBeneIdType", request.getBeneIdType());
|
||||
// Assertions.assertEquals("setBeneIdNo", request.getBeneIdNo());
|
||||
// Assertions.assertEquals("setBeneOpto", request.getBeneOpto());
|
||||
Assertions.assertEquals("setAccountClass", request.getAccountClass());
|
||||
Assertions.assertEquals("setCompanyIdName", request.getCompanyIdName());
|
||||
Assertions.assertEquals("setCompanyIdNo", request.getCompanyIdNo());
|
||||
|
|
@ -1450,7 +1450,7 @@ class AccountServiceTest {
|
|||
Assertions.assertEquals("setLeaderIdNo", request.getLeaderIdNo());
|
||||
Assertions.assertEquals("setLeaderIdName", request.getLeaderIdName());
|
||||
Assertions.assertEquals("setZsopscope", request.getZsopscope());
|
||||
Assertions.assertEquals("setBeneOwner", request.getBeneOwner());
|
||||
// Assertions.assertEquals("setBeneOwner", request.getBeneOwner());
|
||||
for (OpenAccountCompanyRequest.FileList filelist : request.getFileList()) {
|
||||
extractedOpenAccountCompanyRequestFileListNestAssertions(filelist);
|
||||
}
|
||||
|
|
@ -1700,30 +1700,30 @@ class AccountServiceTest {
|
|||
request.setOpenTradeTime("setOpenTradeTime");
|
||||
request.setOpenLongitude("setOpenLongitude");
|
||||
request.setTransDate("setTransDate");
|
||||
request.setBeneName("setBeneName");
|
||||
request.setBeneOpto("setBeneOpto");
|
||||
request.setBeneSex("setBeneSex");
|
||||
// request.setBeneName("setBeneName");
|
||||
// request.setBeneOpto("setBeneOpto");
|
||||
// request.setBeneSex("setBeneSex");
|
||||
OpenAccountCompanyRequest.FileList filelist = new OpenAccountCompanyRequest.FileList();
|
||||
extractedOpenAccountCompanyRequestFileListNestParamsReligion(filelist);
|
||||
request.setFileList(Lists.list(filelist));
|
||||
request.setOpenIp("setOpenIp");
|
||||
request.setBeneIdType("setBeneIdType");
|
||||
request.setBeneIdNo("setBeneIdNo");
|
||||
request.setBeneOwner("setBeneOwner");
|
||||
// request.setBeneIdType("setBeneIdType");
|
||||
// request.setBeneIdNo("setBeneIdNo");
|
||||
// request.setBeneOwner("setBeneOwner");
|
||||
request.setOpenDate("setOpenDate");
|
||||
request.setBeneRatio("setBeneRatio");
|
||||
request.setBeneAddr("setBeneAddr");
|
||||
// request.setBeneRatio("setBeneRatio");
|
||||
// request.setBeneAddr("setBeneAddr");
|
||||
request.setAccountProperty("setAccountProperty");
|
||||
request.setPrimaryAccount("setPrimaryAccount");
|
||||
request.setControllerIdType("setControllerIdType");
|
||||
request.setControllerIdNo("setControllerIdNo");
|
||||
request.setControllerIdName("setControllerIdName");
|
||||
request.setControllerOpto("setControllerOpto");
|
||||
request.setBeneNationality("setBeneNationality");
|
||||
// request.setBeneNationality("setBeneNationality");
|
||||
request.setOperatorMobile("setOperatorMobile");
|
||||
request.setTransTradeTime("setTransTradeTime");
|
||||
request.setOpenDimensions("setOpenDimensions");
|
||||
request.setBeneIsShareholider("setBeneIsShareholider");
|
||||
// request.setBeneIsShareholider("setBeneIsShareholider");
|
||||
request.setOperatorIdName("setOperatorIdName");
|
||||
request.setOperatorIdType("setOperatorIdType");
|
||||
}
|
||||
|
|
@ -1773,30 +1773,30 @@ class AccountServiceTest {
|
|||
Assertions.assertEquals("setOpenTradeTime", request.getOpenTradeTime());
|
||||
Assertions.assertEquals("setOpenLongitude", request.getOpenLongitude());
|
||||
Assertions.assertEquals("setTransDate", request.getTransDate());
|
||||
Assertions.assertEquals("setBeneName", request.getBeneName());
|
||||
Assertions.assertEquals("setBeneOpto", request.getBeneOpto());
|
||||
Assertions.assertEquals("setBeneSex", request.getBeneSex());
|
||||
// Assertions.assertEquals("setBeneName", request.getBeneName());
|
||||
// Assertions.assertEquals("setBeneOpto", request.getBeneOpto());
|
||||
// Assertions.assertEquals("setBeneSex", request.getBeneSex());
|
||||
for (OpenAccountCompanyRequest.FileList filelist : request.getFileList()) {
|
||||
extractedOpenAccountCompanyRequestFileListNestAssertionsReligion(filelist);
|
||||
}
|
||||
Assertions.assertEquals("setOpenIp", request.getOpenIp());
|
||||
Assertions.assertEquals("setBeneIdType", request.getBeneIdType());
|
||||
Assertions.assertEquals("setBeneIdNo", request.getBeneIdNo());
|
||||
Assertions.assertEquals("setBeneOwner", request.getBeneOwner());
|
||||
// Assertions.assertEquals("setBeneIdType", request.getBeneIdType());
|
||||
// Assertions.assertEquals("setBeneIdNo", request.getBeneIdNo());
|
||||
// Assertions.assertEquals("setBeneOwner", request.getBeneOwner());
|
||||
Assertions.assertEquals("setOpenDate", request.getOpenDate());
|
||||
Assertions.assertEquals("setBeneRatio", request.getBeneRatio());
|
||||
Assertions.assertEquals("setBeneAddr", request.getBeneAddr());
|
||||
// Assertions.assertEquals("setBeneRatio", request.getBeneRatio());
|
||||
// Assertions.assertEquals("setBeneAddr", request.getBeneAddr());
|
||||
Assertions.assertEquals("setAccountProperty", request.getAccountProperty());
|
||||
Assertions.assertEquals("setPrimaryAccount", request.getPrimaryAccount());
|
||||
Assertions.assertEquals("setControllerIdType", request.getControllerIdType());
|
||||
Assertions.assertEquals("setControllerIdNo", request.getControllerIdNo());
|
||||
Assertions.assertEquals("setControllerIdName", request.getControllerIdName());
|
||||
Assertions.assertEquals("setControllerOpto", request.getControllerOpto());
|
||||
Assertions.assertEquals("setBeneNationality", request.getBeneNationality());
|
||||
// Assertions.assertEquals("setBeneNationality", request.getBeneNationality());
|
||||
Assertions.assertEquals("setOperatorMobile", request.getOperatorMobile());
|
||||
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
|
||||
Assertions.assertEquals("setOpenDimensions", request.getOpenDimensions());
|
||||
Assertions.assertEquals("setBeneIsShareholider", request.getBeneIsShareholider());
|
||||
// Assertions.assertEquals("setBeneIsShareholider", request.getBeneIsShareholider());
|
||||
Assertions.assertEquals("setOperatorIdName", request.getOperatorIdName());
|
||||
Assertions.assertEquals("setOperatorIdType", request.getOperatorIdType());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@SpringBootTest
|
||||
class AccountServiceTest {
|
||||
|
|
@ -139,16 +140,16 @@ class AccountServiceTest {
|
|||
request.setOperatorIdName("");
|
||||
request.setOperatorMobile("");
|
||||
request.setOperatorOpto("");
|
||||
request.setBeneName("裴久红");
|
||||
request.setBeneSex("0");
|
||||
request.setBeneNationality("CHNHAHAHA");
|
||||
request.setBeneIsShareholider("");
|
||||
request.setBeneRatio("");
|
||||
request.setBeneAddr("浙江省衢州市开化县池淮镇星口村");
|
||||
request.setBeneIdType("1");
|
||||
request.setBeneIdNo("411836197710087251");
|
||||
request.setBeneOpto("2031-07-25");
|
||||
request.setBeneOwner("朱高炽");
|
||||
// request.setBeneName("裴久红");
|
||||
// request.setBeneSex("0");
|
||||
// request.setBeneNationality("CHNHAHAHA");
|
||||
// request.setBeneIsShareholider("");
|
||||
// request.setBeneRatio("");
|
||||
// request.setBeneAddr("浙江省衢州市开化县池淮镇星口村");
|
||||
// request.setBeneIdType("1");
|
||||
// request.setBeneIdNo("411836197710087251");
|
||||
// request.setBeneOpto("2031-07-25");
|
||||
// request.setBeneOwner("朱高炽");
|
||||
|
||||
List<OpenAccountCompanyRequest.FileList> list = getFileListList();
|
||||
request.setFileList(list);
|
||||
|
|
@ -247,4 +248,21 @@ class AccountServiceTest {
|
|||
list.add(proto14);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Test
|
||||
void beneficiaryQuery() {
|
||||
BeneficiaryQueryRequest request = new BeneficiaryQueryRequest();
|
||||
request.setChannelNo("0000");
|
||||
request.setAppNo("10");
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
request.setIsGetCompanyInfo("1");
|
||||
request.setCreditCode("91310000MA1G108K3G");
|
||||
BeneficiaryQueryResponse response = accountService.beneficiaryQuery(request);
|
||||
System.out.println(response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue