From 6eb1330d00d78c52bcd475ae308d0eed702be752 Mon Sep 17 00:00:00 2001 From: wb1608 Date: Mon, 22 Jul 2024 15:38:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E5=8C=B9=E9=85=8D,=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E6=9D=A5=E8=B4=A6=E6=98=8E=E7=BB=86=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accountant/invoice/InvoiceService.java | 23 ++- .../model/InvoiceDepositQueryApiRequest.java | 85 +++++++++++ .../model/InvoiceDepositQueryApiResponse.java | 140 ++++++++++++++++++ .../model/InvoiceSettleMatchApiRequest.java | 95 ++++++++++++ .../model/InvoiceSettleMatchApiResponse.java | 72 +++++++++ 5 files changed, 413 insertions(+), 2 deletions(-) create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiRequest.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiResponse.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiRequest.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiResponse.java diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/InvoiceService.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/InvoiceService.java index 6c33f2d..e6fbc3e 100644 --- a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/InvoiceService.java +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/InvoiceService.java @@ -3,8 +3,7 @@ package com.czcb.scfs.service.accountant.invoice; 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.service.accountant.invoice.model.InvoiceInfoSaveApiRequest; -import com.czcb.scfs.service.accountant.invoice.model.InvoiceInfoSaveApiResponse; +import com.czcb.scfs.service.accountant.invoice.model.*; import static com.czcb.scfs.api.core.Constants.API_VERSION; import static com.czcb.scfs.api.core.Constants.V_2; @@ -33,5 +32,25 @@ public class InvoiceService { HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoSaveApiResponse.class); return httpResponse.getServiceResponse(); } + /** + * 232007-发票匹配 + */ + public InvoiceSettleMatchApiResponse settleMatch(InvoiceSettleMatchApiRequest request) { + String url = "/invoice/settle/match"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceSettleMatchApiResponse.class); + return httpResponse.getServiceResponse(); + } + /** + * 232008-发票来账明细查询 + */ + public InvoiceDepositQueryApiResponse invoiceDepositQuery(InvoiceDepositQueryApiRequest request) { + String url = "/invoice/deposit/query"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceDepositQueryApiResponse.class); + return httpResponse.getServiceResponse(); + } } diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiRequest.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiRequest.java new file mode 100644 index 0000000..2489223 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiRequest.java @@ -0,0 +1,85 @@ +package com.czcb.scfs.service.accountant.invoice.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 2024-07-22 + */ +@Data +@Accessors(chain = true) +@TransType("232008") +public class InvoiceDepositQueryApiRequest 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("invoice_no") + private String invoiceNo; + + /** + * 收款账户账号(入账账户) + */ + @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; + /** + * 归集账户账号(待清算账户/可控电商A2) + */ + @SerializedName("settle_account_no") + private String settleAccountNo; + /** + * 归集账户户名(待清算账户/可控电商A2) + */ + @SerializedName("settle_account_name") + private String settleAccountName; +} diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiResponse.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiResponse.java new file mode 100644 index 0000000..0e35964 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceDepositQueryApiResponse.java @@ -0,0 +1,140 @@ +package com.czcb.scfs.service.accountant.invoice.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 zzf + * @since 2024-07-22 + */ +@Data +@Accessors(chain = true) +public class InvoiceDepositQueryApiResponse 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 + @Accessors(chain = true) + public static class InvoiceDepositData implements Serializable { + /** + * 发票编号 + */ + @SerializedName("invoice_no") + private String invoiceNo; + /** + * 收款账户账号(入账账户) + */ + @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; + /** + * 归集账户账号(待清算账户/可控电商A2) + */ + @SerializedName("settle_account_no") + private String settleAccountNo; + /** + * 归集账户户名(待清算账户/可控电商A2) + */ + @SerializedName("settle_account_name") + private String settleAccountName; + /** + * 来账流水号 + */ + @SerializedName("deposit_serial_no") + private String depositSerialNo; + + /** + * 来账金额 + */ + @SerializedName("deposit_amount") + private BigDecimal depositAmount; + + /** + * 结算金额(匹配金额) + */ + @SerializedName("settle_amount") + private BigDecimal settleAmount; + + /** + * 匹配类型 1、自动匹配 2、人工匹配 + */ + @SerializedName("match_type") + private String matchType; + + /** + * 匹配状态 0、未匹配 1、匹配成功 + */ + @SerializedName("match_status") + private String matchStatus; + + /** + * 匹配时间 + */ + @SerializedName("match_time") + private Date matchTime; + /** + * 创建时间 + */ + @SerializedName("create_time") + private Date createTime; + /** + * 更新时间 + */ + @SerializedName("update_time") + private Date updateTime; + } +} diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiRequest.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiRequest.java new file mode 100644 index 0000000..87382ac --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiRequest.java @@ -0,0 +1,95 @@ +package com.czcb.scfs.service.accountant.invoice.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; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + *

+ * 发票匹配 + *

+ * + * @author zzf + * @since 2024-07-04 + */ +@Data +@Accessors(chain = true) +@TransType("232007") +public class InvoiceSettleMatchApiRequest 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("data") + private List data; + @Data + @Accessors(chain = true) + private static class InvoiceSettleMatchApiReqData implements Serializable{ + /** + * 来账流水号 + */ + @SerializedName("deposit_serial_no") + private String depositSerialNo; + /** + * 结算金额 + */ + @SerializedName("match_amount") + private BigDecimal matchAmount; + } + /** + * 发票编号 + */ + @SerializedName("invoice_no") + private String invoiceNo; + /** + * 收款账户账号 + */ + @SerializedName("account_no") + private String accountNo; + /** + * 付款账户账号 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + /** + * 匹配类型 + * 1、自动匹配 + * 2、人工匹配 + */ + @SerializedName("match_type") + private String matchType; +} \ No newline at end of file diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiResponse.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiResponse.java new file mode 100644 index 0000000..ee8e367 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleMatchApiResponse.java @@ -0,0 +1,72 @@ +package com.czcb.scfs.service.accountant.invoice.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; + +/** + *

+ * 发票匹配出参 + *

+ * + * @author zzf + * @since 2024-07-04 + */ +@Data +@Accessors(chain = true) +public class InvoiceSettleMatchApiResponse 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 + @Accessors(chain = true) + public static class InvoiceSettleMatchApiRespData implements Serializable{ + /** + * 发票编号 + */ + @SerializedName("invoice_no") + private String invoiceNo; + /** + * 来账流水号 + */ + @SerializedName("deposit_serial_no") + private String depositSerialNo; + /** + * 结算金额 + */ + @SerializedName("match_amount") + private BigDecimal matchAmount; + } +} \ No newline at end of file