From a6bfafec0ef5d43b3c3363d5b58dd4032b5bb62d Mon Sep 17 00:00:00 2001 From: wb1608 Date: Tue, 16 Jul 2024 10:01:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=8E=E8=B4=A6=E6=88=B7=E5=BC=80=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/v2/account/AccountService.java | 14 ++++ .../v2/account/model/OpenAccSubRequest.java | 66 +++++++++++++++++++ .../v2/account/model/OpenAccSubResponse.java | 50 ++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubResponse.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 f0081fc..e5851e2 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 @@ -200,4 +200,18 @@ public class AccountService { HttpResponse httpResponse = apiClient.post(url, headers, openAccInnerRequest.toJsonRequest(), OpenAccInnerResponse.class); return httpResponse.getServiceResponse(); } + + /** + * 从账户开户 + * + * @param openAccSubRequest OpenAccSubRequest + * @return OpenAccSubResponse + */ + public OpenAccSubResponse openAccSub(OpenAccSubRequest openAccSubRequest) { + String url = "/account/v2/sub-open-account"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, openAccSubRequest.toJsonRequest(), OpenAccSubResponse.class); + return httpResponse.getServiceResponse(); + } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubRequest.java new file mode 100644 index 0000000..aa956be --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubRequest.java @@ -0,0 +1,66 @@ +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 zzf + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("222104") +public class OpenAccSubRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 账号,主账户账号(A1账户) + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 户名,主账户户名(A1账户) + */ + @SerializedName("account_name") + private String accountName; + + /** + * 账户类型 6、冻结(A2账户对应类型) + */ + @SerializedName("account_class") + private String accountClass; + + /** + * 操作日期YYYY-MM-DD + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 操作时间YYYY-MM-DD hh:mm:ss + */ + @SerializedName("trans_tradetime") + private String transTradeTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubResponse.java new file mode 100644 index 0000000..31387e0 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/account/model/OpenAccSubResponse.java @@ -0,0 +1,50 @@ +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; + +/** + * @author zzf + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +public class OpenAccSubResponse implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + + /** + * 从账户账号(A2账号) + */ + @SerializedName("sub_account_no") + private String subAccountNo; + + /** + * 从账户户名(A2户名) + */ + @SerializedName("sub_account_name") + private String subAccountName; + + /** + * 系统日期(YYYY-MM-DD) + */ + @SerializedName("sys_date") + private String sysDate; + + /** + * 系统时间(YYYY-MM-DD hh:mm:ss) + */ + @SerializedName("sys_time") + private String sysTime; +}