From a36362799e22b15a326380f06291a6340b99488a Mon Sep 17 00:00:00 2001 From: wb3298 <1111@qq.com> Date: Wed, 4 Jun 2025 10:58:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/v2/account/AccountService.java | 14 +- .../v2/account/model/QueryDetailRequest.java | 58 ++++ .../v2/account/model/QueryDetailResponse.java | 301 ++++++++++++++++++ 3 files changed, 372 insertions(+), 1 deletion(-) create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailResponse.java diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java index fa83741..d9ae038 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/AccountService.java @@ -101,7 +101,19 @@ public class AccountService { HttpResponse httpResponse = apiClient.post(url, headers, queryBalanceRequest.toJsonRequest(), QueryBalanceResponse.class); return httpResponse.getServiceResponse(); } - + /** + * 查询账户详情 + * + * @param queryDetailRequest QueryDetailRequest + * @return QueryDetailResponse + */ + public QueryDetailResponse queryDetail(QueryDetailRequest queryDetailRequest) { + String url = "/account/v2/detail-query"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, queryDetailRequest.toJsonRequest(), QueryDetailResponse.class); + return httpResponse.getServiceResponse(); + } /** * 卡信息查询 * diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailRequest.java new file mode 100644 index 0000000..5f8b208 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailRequest.java @@ -0,0 +1,58 @@ +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; + +/** + * @author wangwei + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("222201") +public class QueryDetailRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 查询从账号 0:否1:是。默认为否 + */ + @SerializedName("relation_acct") + private String relationAcct; + + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailResponse.java new file mode 100644 index 0000000..fc48616 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/QueryDetailResponse.java @@ -0,0 +1,301 @@ +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.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @author wangwei + * @since 2.0.0 + */ +@Data +public class QueryDetailResponse implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + + /** + * 系统流水号 + */ + @SerializedName("sys_serial_no") + private String sysSerialNo; + + @SerializedName("detail_list") + private List detailList; + + /** + * 系统日期(YYYY-MM-DD) + */ + @SerializedName("sys_date") + private String sysDate; + + /** + * 系统时间(YYYY-MM-DD hh:mm:ss) + */ + @SerializedName("sys_time") + private String sysTime; + + @Data + @Accessors(chain = true) + public static class DetailList implements Serializable { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + /** + * 户名 + */ + @SerializedName("account_name") + private String accountName; + /** + * 当前余额 + */ + @SerializedName("balance") + private BigDecimal balance; + /** + * 可提现余额 + */ + @SerializedName("withdraw_balance") + private BigDecimal withdrawBalance; + /** + * 币种 CNY:人民币 + */ + @SerializedName("currency") + private String currency; + + /** + * 0:活期 1:定期 2:保证金 3:基金 4:理财 5:证券 6:代发工资登记 7:融资 8:积分 A:逾期 B:呆滞 C:呆账 D:利息 E:应收利息 F:催收利息 + */ + @SerializedName("account_class") + private String accountClass; + /** + * 账号关系 0:主 1:从 + */ + @SerializedName("account_relation") + private String accountRelation; + /** + * 从账户对应的主账户 + */ + @SerializedName("inner_primary_account_no") + private String innerPrimaryAccountNo; + /** + * 实体卡号 + */ + @SerializedName("bank_card") + private String bankCard; + /** + * 激活状态:0:否 1:是 + */ + @SerializedName("activation_state") + private String activationState; + + /** + * 当前余额方向 D:借方 C:贷方 + */ + @SerializedName("balance_direction") + private String balanceDirection; + /** + * 借方冻结 0:否 1:是 + */ + @SerializedName("debit_freeze") + private String debitFreeze; + /** + * 贷方冻结 0:否 1:是 + */ + @SerializedName("credit_freeze") + private String creditFreeze; + /** + * 冻结金额 + */ + @SerializedName("freeze_amount") + private BigDecimal freezeAmount; + /** + * 透支限额 + */ + @SerializedName("overdraft_limit") + private BigDecimal overdraftLimit; + + /** + * 账号性质 1:个人 2:企业 + */ + @SerializedName("account_property") + private String accountProperty; + /** + * 客户号 + */ + @SerializedName("customer_no") + private String customerNo; + /** + * ECIF客户编号 + */ + @SerializedName("cstno") + private String cstno; + /** + * 证件类型 0:其他 1:身份证 2:户口本 3:学生证 4:军官证 5:武警证 6:士兵证 7:中国护照 8:香港通行证 9:澳门通行证 A:台湾通行证 B:外国护照 C:工商注册登记号 + */ + @SerializedName("id_type") + private String idType; + /** + * 证件号码 + */ + @SerializedName("id_no") + private String idNo; + /** + * 证件有效起始日期 + */ + @SerializedName("id_startdate") + private Date idStartdate; + /** + * 证件有效结束日期 + */ + @SerializedName("id_enddate") + private Date idEnddate; + /** + * 签发机关 个人时必输 + */ + @SerializedName("sign_name") + private String signName; + /** + * 签发机关编号 个人时必输 + */ + @SerializedName("sign_no") + private String signNo; + /** + * 证件地址 个人时必输 + */ + @SerializedName("id_address") + private String idAddress; + /** + * 性别 0:男 1:女 个人时必输 + */ + @SerializedName("sex") + private String sex; + /** + * 实名核实结果 个人时有效 1:未核实 2:真实 3:虚假 4:假名 5:匿名 6:无法核实 7:在有疑义时销户 + */ + @SerializedName("name_verify") + private String nameVerify; + /** + * 民族 默认“汉” + */ + @SerializedName("ethnic") + private String ethnic; + /** + * 职业 8:其他 + */ + @SerializedName("job") + private String job; + /** + * 职业备注 默认“未知” + */ + @SerializedName("job_note") + private String jobNote; + /** + * 手机号 + */ + @SerializedName("mobile") + private String mobile; + /** + * 主账号 + */ + @SerializedName("primary_account") + private String primaryAccount; + /** + * 0:借记卡 1:准贷记卡 2:贷记卡 3:对公户 + */ + @SerializedName("primary_account_type") + private String primaryAccountType; + + /** + * 归属支付行号 来自于支行行号表 + */ + @SerializedName("pay_bank_no") + private String payBankNo; + + /** + * 开户行名称 对公账号信息 + */ + @SerializedName("bank_name") + private String bankName; + + /** + * 企业行业类别 企业时必输 2A:农、林、牧、渔业 2B:采矿业 2C:制造业 2D:电力、燃气及水的生产和供应业 2E:建筑业 2F:交通运输、仓储和邮政业 2G:信息传输、计算机服务和软件业 2H:批发和零售业 2I:住宿和餐饮业 2J:银行业 2K:房地产业 2L:租赁和商务服务业 2M:科学研究、技术服务和地质勘查业 2N:水利、环境和公共设施管理业 2O:居民服务和其他服务业 2P:教育 2Q:卫生、社会保障和社会福利业 2R:文化、体育和娱乐业 2S:公共管理和社会组织 2T:国际组织 + */ + @SerializedName("industry") + private String industry; + /** + * 企业时必输 法人证件类型 0:其他 1:身份证 2:户口本 3:学生证 4:军官证 5:武警证 6:士兵证 7:中国护照 8:香港通行证 9:澳门通行证 A:台湾通行证 B:外国护照 C:工商注册登记号 + */ + @SerializedName("company_id_type") + private String companyIdType; + /** + * 企业时必输 法人证件号码 + */ + @SerializedName("company_id_no") + private String companyIdNo; + /** + * 企业时必输 法人代表名称 + */ + @SerializedName("company_id_name") + private String companyIdName; + + /** + * 归属机构 + */ + @SerializedName("home_org") + private String homeOrg; + /** + * 开户日期 + */ + @SerializedName("open_date") + private Date openDate; + + /** + * 止付到期日期 + */ + @SerializedName("stop_pay_date") + private Date stopPayDate; + + /** + * 账户状态 0:正常 1:删除 2:挂失 3:锁定 4:销户 5:不动户 6:睡眠户 7:止付 + */ + @SerializedName("account_status") + private String accountStatus; + /** + * 创建时间 + */ + @SerializedName("create_time") + private Date createTime; + /** + * 更新时间 + */ + @SerializedName("update_time") + private Date updateTime; + + /** + * 余额红字 0:否 1:是 + */ + @SerializedName("red_balance") + private String redBalance; + } +}