From d6da7592ec7594aa2c32c02e8466d7eb5b7f988b Mon Sep 17 00:00:00 2001 From: wb1608 Date: Mon, 15 Apr 2024 15:27:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/service/v2/trans/TransService.java | 13 ++ .../v2/trans/model/QueryHistoryRequest.java | 70 +++++++ .../v2/trans/model/QueryHistoryResponse.java | 174 ++++++++++++++++++ 3 files changed, 257 insertions(+) create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryResponse.java diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/TransService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/TransService.java index 20717f6..e7ff317 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/TransService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/TransService.java @@ -60,4 +60,17 @@ public class TransService { HttpResponse httpResponse = apiClient.post(url, headers, queryTradeListNewRequest.toJsonRequest(), QueryTradeListNewResponse.class); return httpResponse.getServiceResponse(); } + /** + * 历史交易明细查询接口 + * + * @param queryHistoryRequest QueryHistoryRequest + * @return QueryHistoryResponse + */ + public QueryHistoryResponse queryHistory(QueryHistoryRequest queryHistoryRequest) { + String url = "/trade-details/v2/query-history"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + HttpResponse httpResponse = apiClient.post(url, headers, queryHistoryRequest.toJsonRequest(), QueryHistoryResponse.class); + return httpResponse.getServiceResponse(); + } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryRequest.java new file mode 100644 index 0000000..4a41618 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryRequest.java @@ -0,0 +1,70 @@ +package com.czcb.scfs.api.service.v2.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 zzf + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +@TransType("230304") +public class QueryHistoryRequest 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("account_no") + private String accountNo; + /** + * 期初日期 yyyy-MM-dd + */ + @SerializedName("start_date") + private String startDate; + /** + * 期末日期 yyyy-MM-dd + */ + @SerializedName("end_date") + private String endDate; + /** + * 当前页码 默认 0 + */ + @SerializedName("page") + private Long page; + /** + * 总行数 默认 100 + */ + @SerializedName("rows") + private Long rows; + +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryResponse.java new file mode 100644 index 0000000..dcf9c46 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/trans/model/QueryHistoryResponse.java @@ -0,0 +1,174 @@ +package com.czcb.scfs.api.service.v2.trans.model; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @author zzf + * @since 2.0.0 + */ +@Data +@Accessors(chain = true) +public class QueryHistoryResponse { + /** + * 返回码 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("account_no") + private String accountNo; + /** + * 户名 + */ + @SerializedName("account_name") + private String accountName; + /** + * 期初日期 YYYY-MM-DD + */ + @SerializedName("start_date") + private String startDate; + /** + * 期末日期 YYYY-MM-DD + */ + @SerializedName("end_date") + private String endDate; + /** + * 期初日期余额 + */ + @SerializedName("start_date_balance") + private BigDecimal startDateBalance; + /** + * 期末日期余额 + */ + @SerializedName("end_date_balance") + private BigDecimal endDateBalance; + /** + * 账户状态 + */ + @SerializedName("account_status") + private String accountStatus; + /** + * 总页数 + */ + @SerializedName("totle_page") + private Long totlePage; + /** + * 当前页 + */ + @SerializedName("current_page") + private Long currentPage; + /** + * 明细列表 + */ + @SerializedName("detail_list") + private List detailList; + + @Data + @Accessors(chain = true) + public static class DetailList implements Serializable { + /** + * 内码ID,可用来排序 + */ + @SerializedName("id") + private Integer id; + /** + * 记账日期 + */ + @SerializedName("account_date") + private String accountDate; + /** + * 交易时间 + */ + @SerializedName("trade_time") + private String tradeTime; + /** + * 明细类型 0:交易 1:结转 + */ + @SerializedName("detail_type") + private String detailType; + /** + * 交易类型 0:其他 1:开户 2:修改 3:销户 4:存款 5:取款 6:转入 7:转出 8:撤销 + */ + @SerializedName("trans_type") + private String transType; + /** + * 交易码=接口功能号(trans_type) + */ + @SerializedName("trade_no") + private String tradeNo; + /** + * 原交易流水号 + */ + @SerializedName("original_serialno") + private String originalSerialno; + /** + * 现交易流水号 + */ + @SerializedName("serial_no") + private String serialNo; + /** + * 交易金额 + */ + @SerializedName("trans_amount") + private BigDecimal transAmount; + /** + * 交易总额 + */ + @SerializedName("total_amount") + private BigDecimal totalAmount; + /** + * 手续费 + */ + @SerializedName("trans_fee") + private BigDecimal transFee; + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + /** + * 对方账号 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + /** + * 对方户名 + */ + @SerializedName("opp_account_name") + private String oppAccountName; + /** + * 摘要 + */ + @SerializedName("remark") + private String remark; + + } +}