From 4ef9731f0b71b43ad30299d2191320d9f088ce4f Mon Sep 17 00:00:00 2001 From: wb2476 Date: Tue, 9 Apr 2024 16:49:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=9F=BA=E7=A1=80=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/v1/account/AccountService.java | 26 ++++ .../v1/account/model/OpenAccSubRequest.java | 66 +++++++++ .../v1/account/model/OpenAccSubResponse.java | 48 +++++++ .../scfs/api/service/v1/file/FileService.java | 11 ++ .../scfs/api/service/v1/pay/PayService.java | 10 ++ .../api/service/v1/trans/TransService.java | 19 ++- .../trans/model/QueryTradeListNewRequest.java | 70 ++++++++++ .../model/QueryTradeListNewResponse.java | 126 ++++++++++++++++++ 8 files changed, 372 insertions(+), 4 deletions(-) create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java index 0800fb0..ebb7a46 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/AccountService.java @@ -19,6 +19,32 @@ public class AccountService { this.apiClient = apiClient; } + + /** + * 从账户开户 + * + * @param openAccSubRequest OpenAccSubRequest + * @return OpenAccSubResponse + */ + public OpenAccSubResponse openAccSub(OpenAccSubRequest openAccSubRequest) { + String url = "/accInfo/openAccSub"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + HttpResponse httpResponse = apiClient.post(url, headers, openAccSubRequest.toJsonRequest(), OpenAccSubResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 电子登记簿账户开户-个人 + * + * @param + * @return + */ + public void createAccount() { + + + } + /** * 开立一个客户电子登记簿账户(主账户) 个人 * diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubRequest.java new file mode 100644 index 0000000..1c91e5f --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubRequest.java @@ -0,0 +1,66 @@ +package com.czcb.scfs.api.service.v1.account.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.service.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 从账户开户 + * + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("100032") +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/v1/account/model/OpenAccSubResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java new file mode 100644 index 0000000..3f76fb9 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/account/model/OpenAccSubResponse.java @@ -0,0 +1,48 @@ +package com.czcb.scfs.api.service.v1.account.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +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; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java index 419ecc2..72ce2f6 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/file/FileService.java @@ -50,4 +50,15 @@ public class FileService { HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), DownloadFileResponse.class); return httpResponse.getServiceResponse(); } + + /** + * 余额回单下载 + * + * @param + * @return + */ + public void balanceBill() { + + + } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java index 819556b..1b1731c 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/pay/PayService.java @@ -33,6 +33,16 @@ public class PayService { return httpResponse.getServiceResponse(); } + /** + * 提现 + * + * @param + * @return + */ + public void merWithdrawV2() { + + } + /** * 提现查证 * diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/TransService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/TransService.java index 3aaa18e..6000836 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/TransService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/TransService.java @@ -3,10 +3,7 @@ package com.czcb.scfs.api.service.v1.trans; import com.czcb.scfs.api.core.ApiClient; import com.czcb.scfs.api.core.http.HttpHeaders; import com.czcb.scfs.api.core.http.HttpResponse; -import com.czcb.scfs.api.service.v1.trans.model.QueryTradeInfoRequest; -import com.czcb.scfs.api.service.v1.trans.model.QueryTradeInfoResponse; -import com.czcb.scfs.api.service.v1.trans.model.QueryTradeListRequest; -import com.czcb.scfs.api.service.v1.trans.model.QueryTradeListResponse; +import com.czcb.scfs.api.service.v1.trans.model.*; import static com.czcb.scfs.api.core.Constants.API_VERSION; import static com.czcb.scfs.api.core.Constants.V_1; @@ -49,4 +46,18 @@ public class TransService { HttpResponse httpResponse = apiClient.post(url, headers, queryTradeInfoRequest.toJsonRequest(), QueryTradeInfoResponse.class); return httpResponse.getServiceResponse(); } + + /** + * 查询账户交易明细(新1) + * + * @param queryTradeListNewRequest QueryTradeListNewRequest + * @return QueryTradeListNewResponse + */ + public QueryTradeListNewResponse queryTradeListNew(QueryTradeListNewRequest queryTradeListNewRequest) { + String url = "/tradeDetails/queryTradeList1"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + HttpResponse httpResponse = apiClient.post(url, headers, queryTradeListNewRequest.toJsonRequest(), QueryTradeListNewResponse.class); + return httpResponse.getServiceResponse(); + } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewRequest.java new file mode 100644 index 0000000..269e531 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewRequest.java @@ -0,0 +1,70 @@ +package com.czcb.scfs.api.service.v1.trans.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.service.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("100033") +public class QueryTradeListNewRequest 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; + + /** + * 起始日期 YYYY-MM-DD + */ + @SerializedName("start_date") + private String startDate; + + /** + * 结束日期 YYYY-MM-DD + */ + @SerializedName("end_date") + private String endDate; + + /** + * 操作日期 YYYY-MM-DD + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 当前页码 默认 0 (说明:limit 0,10000;limit 10000,20000) + */ + @SerializedName("page") + private Integer page; + + /** + * 总行数 默认 10000 + */ + @SerializedName("rows") + private Integer rows; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java new file mode 100644 index 0000000..2082ab9 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v1/trans/model/QueryTradeListNewResponse.java @@ -0,0 +1,126 @@ +package com.czcb.scfs.api.service.v1.trans.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @author H.T + * @since 2.0.0 + */ +@Data +public class QueryTradeListNewResponse implements ApiResponse { + /** + * 000000:表示成功 + */ + @SerializedName("recode") + private String recode; + + /** + * 结果信息 + */ + @SerializedName("recode_info") + private String recodeInfo; + + /** + * 账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 户名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 证件类型 查看数据字典 + */ + @SerializedName("id_type") + private String idType; + + /** + * 证件号码 + */ + @SerializedName("id_no") + private String idNo; + + /** + * 手机号 + */ + @SerializedName("mobile") + private String mobile; + + /** + * 当前余额 + */ + @SerializedName("cur_balance") + private BigDecimal curBalance; + + /** + * 可用余额 + */ + @SerializedName("avail_balance") + private BigDecimal availBalance; + + /** + * 可提现金额 + */ + @SerializedName("withdraw_balance") + private BigDecimal withdrawBalance; + + /** + * 昨日余额 + */ + @SerializedName("pre_balance") + private BigDecimal preBalance; + + /** + * 明细列表 + */ + @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 + public static class DetailList implements Serializable { +// .id Int Y 内码ID,可用来排序 +//.account_date C10 Y 记账日期 +//.trade_time C19 Y 交易时间 +//.detail_type C1 Y 明细类型 0:交易 1:结转 +//.trans_type C1 Y 交易类型 0:其他 1:开户 2:修改 3:销户 4:存款 5:取款 6:转入 7:转出 8:撤销 +//.trade_no C32 N 交易码=功能号(trans_type) +// .original_serialno C32 Y 原交易流水号 +//.serial_no C32 Y 系统交易流水号 +//.trans_amount N16,2 Y 交易金额 +//.total_amount N16,2 Y 交易总额 +//.trans_fee N16,2 Y 手续费 +//.balance N16,2 Y 余额 +//.channel_no C32 Y 渠道编号 +//.opp_account_no C32 N 对方账号 +//.opp_account_name C60 N 对方户名 +//.remark C200 N 摘要 + } + + + } + + + +