From 84a44dba43714b7b46950a70c364f452f482b31e Mon Sep 17 00:00:00 2001 From: wb2476 Date: Tue, 3 Dec 2024 14:47:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=B8=87=E9=A1=BA?= =?UTF-8?q?=E6=B8=85=E7=AE=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/v2/order/OrderSettleService.java | 46 +++ .../order/model/OrderNotSettleStaRequest.java | 66 +++++ .../model/OrderNotSettleStaResponse.java | 158 +++++++++++ .../v2/order/model/OrderSettleRequest.java | 66 +++++ .../v2/order/model/OrderSettleResponse.java | 46 +++ .../OrderSettleResultQueryPageRequest.java | 103 +++++++ .../OrderSettleResultQueryPageResponse.java | 267 ++++++++++++++++++ 7 files changed, 752 insertions(+) create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaResponse.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResponse.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageRequest.java create mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageResponse.java diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/OrderSettleService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/OrderSettleService.java index 3fe0e65..ac9039e 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/OrderSettleService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/OrderSettleService.java @@ -1,6 +1,12 @@ package com.czcb.scfs.api.service.v2.order; 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.v2.order.model.*; + +import static com.czcb.scfs.api.core.Constants.API_VERSION; +import static com.czcb.scfs.api.core.Constants.V_2; /** * 订单清算管理 @@ -16,5 +22,45 @@ public class OrderSettleService { this.apiClient = apiClient; } + /** + * 301507-订单清算 + * + * @author H.T + * @since 2024/12/03 + */ + public OrderSettleResponse orderSettle(OrderSettleRequest request) { + String url = "/order/settle"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), OrderSettleResponse.class); + return httpResponse.getServiceResponse(); + } + /** + * 301508-订单清算结果分页查询 + * + * @author H.T + * @since 2024/12/03 + */ + public OrderSettleResultQueryPageResponse orderSettleResultQueryPage(OrderSettleResultQueryPageRequest request) { + String url = "/order/settle/result/query-page"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), OrderSettleResultQueryPageResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 301509-待清算订单统计 + * + * @author H.T + * @since 2024/12/03 + */ + public OrderNotSettleStaResponse orderNotSettleSta(OrderNotSettleStaRequest request) { + String url = "/order/not-settle/sta"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), OrderNotSettleStaResponse.class); + return httpResponse.getServiceResponse(); + } } diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaRequest.java new file mode 100644 index 0000000..67de1c1 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaRequest.java @@ -0,0 +1,66 @@ +package com.czcb.scfs.api.service.v2.order.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; + +/** + * 301509-待清算订单统计 + * + * @author H.T + * @since 2024-12-03 + */ +@Data +@Accessors(chain = true) +@TransType("301509") +public class OrderNotSettleStaRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; + + /** + * 凡荣商户号 + */ + @SerializedName("merchantid") + private String merchantid; + + /** + * 支付渠道号 + */ + @SerializedName("pay_channel_no") + private String payChannelNo; + + /** + * 支付渠道商户号 + */ + @SerializedName("pay_channel_merchantid") + private String payChannelMerchantid; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaResponse.java new file mode 100644 index 0000000..6be28d0 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderNotSettleStaResponse.java @@ -0,0 +1,158 @@ +package com.czcb.scfs.api.service.v2.order.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.List; + +/** + * 301509-待清算订单统计 + * + * @author H.T + * @since 2024-10-31 + */ +@Data +@Accessors(chain = true) +public class OrderNotSettleStaResponse 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("data") + private List data; + + @Data + public static class OrderOppDetailData implements Serializable { + /** + * 请求流水号 + */ + @SerializedName("req_serial_no") + private String reqSerialNo; + + /** + * 系统流水号 + */ + @SerializedName("data_sys_serial_no") + private String dataSysSerialNo; + + /** + * 业务端支付流水号 + */ + @SerializedName("pay_serial_no") + private String paySerialNo; + + /** + * 商户编号(凡荣e链的商户号) + */ + @SerializedName("merchantid") + private String merchantid; + + /** + * 支付渠道号 + */ + @SerializedName("pay_channel_no") + private String payChannelNo; + + /** + * 支付渠道商户号 + */ + @SerializedName("pay_channel_merchantid") + private String payChannelMerchantid; + + /** + * 批次号 + */ + @SerializedName("batch_no") + private String batchNo; + + /** + * 订单编号 + */ + @SerializedName("order_no") + private String orderNo; + + /** + * 付款账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 付款户名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 收款账号 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + + /** + * 收款户名 + */ + @SerializedName("opp_account_name") + private String oppAccountName; + + /** + * 收款行号 + */ + @SerializedName("opp_bank_no") + private String oppBankNo; + + /** + * 收款行名 + */ + @SerializedName("opp_bank_name") + private String oppBankName; + + /** + * 收款账户类型:1、电子登记簿 2、他行一般结算户 + */ + @SerializedName("opp_account_type") + private String oppAccountType; + + /** + * 收款金额/退款金额 + */ + @SerializedName("opp_amount") + private BigDecimal oppAmount; + + /** + * 订单摘要 + */ + @SerializedName("remark") + private String remark; + } +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleRequest.java new file mode 100644 index 0000000..04b328c --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleRequest.java @@ -0,0 +1,66 @@ +package com.czcb.scfs.api.service.v2.order.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; + +/** + * 301507-订单清算 + * + * @author H.T + * @since 2024-12-03 + */ +@Data +@Accessors(chain = true) +@TransType("301507") +public class OrderSettleRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; + + /** + * 凡荣商户号 + */ + @SerializedName("merchantid") + private String merchantid; + + /** + * 支付渠道号 + */ + @SerializedName("pay_channel_no") + private String payChannelNo; + + /** + * 支付渠道商户号 + */ + @SerializedName("pay_channel_merchantid") + private String payChannelMerchantid; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResponse.java new file mode 100644 index 0000000..c6d1a49 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResponse.java @@ -0,0 +1,46 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 301507-订单清算 + * + * @author H.T + * @since 2024-12-03 + */ +@Data +@Accessors(chain = true) +public class OrderSettleResponse 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; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageRequest.java new file mode 100644 index 0000000..af98abe --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageRequest.java @@ -0,0 +1,103 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.PageApiRequest; +import com.czcb.scfs.api.core.agrs.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; + +import lombok.experimental.Accessors; + +/** + * 301508-订单清算结果分页查询 + * + * @author H.T + * @since 2024-12-03 + */ +@Data +@Accessors(chain = true) +@TransType("301508") +public class OrderSettleResultQueryPageRequest implements PageApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; + + /** + * 清算流水号 + */ + @SerializedName("settle_serial_no") + private String settleSerialNo; + + /** + * 商户编号(凡荣e链的商户号) + */ + @SerializedName("merchantid") + private String merchantid; + + /** + * 支付渠道商户号 + */ + @SerializedName("pay_channel_merchantid") + private String payChannelMerchantid; + + /** + * 清算类型 + */ + @SerializedName("settle_type") + private String settleType; + + /** + * 清算日期-开始 + */ + @SerializedName("settle_date_start") + private String settleDateStart; + + /** + * 清算日期-截至 + */ + @SerializedName("settle_date_end") + private String settleDateEnd; + + /** + * 清算状态, 1:清算成功 2:清算失败 + */ + @SerializedName("settle_status") + private String settleStatus; + + /** + * 当前页数 + */ + @SerializedName("current_page") + private Long currentPage; + + /** + * 每页行数 + */ + @SerializedName("current_rows") + private Long currentRows; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageResponse.java new file mode 100644 index 0000000..3ac4b55 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/OrderSettleResultQueryPageResponse.java @@ -0,0 +1,267 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.PageApiResponse; +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; + +/** + * 301508-订单清算结果分页查询 + * + * @author H.T + * @since 2024-12-03 + */ +@Data +@Accessors(chain = true) +public class OrderSettleResultQueryPageResponse implements PageApiResponse { + /** + * 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("data") + private List data; + + /** + * 当前页码 + */ + @SerializedName("current_page") + private Long currentPage; + + /** + * 总页数 + */ + @SerializedName("total_page") + private Long totalPage; + + /** + * 总条数 + */ + @SerializedName("total_rows") + private Long totalRows; + + @Data + public static class OrderSettleInfoData implements Serializable { + /** + * 请求流水号 + */ + @SerializedName("req_serial_no") + private String reqSerialNo; + + /** + * 系统流水号 + */ + @SerializedName("data_sys_serial_no") + private String dataSysSerialNo; + + /** + * 清算流水号 + */ + @SerializedName("settle_serial_no") + private String settleSerialNo; + + /** + * 商户编号(凡荣e链的商户号) + */ + @SerializedName("merchantid") + private String merchantid; + + /** + * 支付渠道商户号 + */ + @SerializedName("pay_channel_merchantid") + private String payChannelMerchantid; + + /** + * 清算类型 + */ + @SerializedName("settle_type") + private String settleType; + + /** + * 清算日期 + */ + @SerializedName("settle_date") + private Date settleDate; + + /** + * 清算时间 + */ + @SerializedName("settle_time") + private Date settleTime; + + /** + * 清算状态, 1:清算成功 2:清算失败 + */ + @SerializedName("settle_status") + private String settleStatus; + + /** + * 清算结果 + */ + @SerializedName("settle_result") + private String settleResult; + + /** + * 清算总额 + */ + @SerializedName("settle_total_amount") + private BigDecimal settleTotalAmount; + + /** + * 手续费总额 + */ + @SerializedName("total_fee") + private BigDecimal totalFee; + + /** + * 订单总额 + */ + @SerializedName("order_total_amount") + private BigDecimal orderTotalAmount; + + /** + * 摘要 + */ + @SerializedName("remark") + private String remark; + + @SerializedName("detail_data") + private List detailData; + } + + @Data + public static class OrderSettleDetailData implements Serializable { + /** + * 请求流水号 + */ + @SerializedName("req_serial_no") + private String reqSerialNo; + + /** + * 系统流水号 + */ + @SerializedName("data_sys_serial_no") + private String dataSysSerialNo; + + /** + * 清算流水号 + */ + @SerializedName("settle_serial_no") + private String settleSerialNo; + + /** + * 商户编号(凡荣e链的商户号) + */ + @SerializedName("merchantid") + private String merchantid; + + /** + * 支付渠道商户号 + */ + @SerializedName("pay_channel_merchantid") + private String payChannelMerchantid; + + /** + * 清算序号 + */ + @SerializedName("settle_index") + private Integer settleIndex; + + /** + * 清算类型 + */ + @SerializedName("settle_type") + private String settleType; + + /** + * 清算时间 + */ + @SerializedName("settle_time") + private Date settleTime; + + /** + * 清算状态, 1:清算成功 2:清算失败 + */ + @SerializedName("settle_status") + private String settleStatus; + + /** + * 清算结果 + */ + @SerializedName("settle_result") + private String settleResult; + + /** + * 付款账号 + */ + @SerializedName("account_no") + private String accountNo; + + /** + * 付款户名 + */ + @SerializedName("account_name") + private String accountName; + + /** + * 付款金额 + */ + @SerializedName("pay_amount") + private BigDecimal payAmount; + + /** + * 收款账号 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + + /** + * 收款户名 + */ + @SerializedName("opp_account_name") + private String oppAccountName; + + /** + * 收款金额 + */ + @SerializedName("opp_amount") + private BigDecimal oppAmount; + + /** + * 摘要 + */ + @SerializedName("remark") + private String remark; + } +}