From dd16cefcbd18a5cb8c411dccfc827507bd2d047a Mon Sep 17 00:00:00 2001 From: wb2476 Date: Mon, 22 Jul 2024 15:29:09 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=8F=91=E7=A5=A8=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accountant/invoice/InvoiceService.java | 36 ++++- .../model/InvoiceInfoInvalidApiRequest.java | 61 ++++++++ .../model/InvoiceInfoInvalidApiResponse.java | 46 ++++++ .../model/InvoiceInfoQueryApiRequest.java | 103 +++++++++++++ .../model/InvoiceInfoQueryApiResponse.java | 142 ++++++++++++++++++ .../model/InvoiceInfoSaveApiRequest.java | 32 +++- .../model/InvoiceInfoSaveApiResponse.java | 6 + .../model/InvoiceSettleQueryApiRequest.java | 72 +++++++++ .../model/InvoiceSettleQueryApiResponse.java | 113 ++++++++++++++ 9 files changed, 608 insertions(+), 3 deletions(-) create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiRequest.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiResponse.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiRequest.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiResponse.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiRequest.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiResponse.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..a06f284 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; @@ -34,4 +33,37 @@ public class InvoiceService { return httpResponse.getServiceResponse(); } + /** + * 231908-发票作废 + */ + public InvoiceInfoInvalidApiResponse invalid(InvoiceInfoInvalidApiRequest request) { + String url = "/invoice/invalid"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoInvalidApiResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 231909-发票查询 + */ + public InvoiceInfoQueryApiResponse query(InvoiceInfoQueryApiRequest request) { + String url = "/invoice/query"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoQueryApiResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 232109-发票结算明细查询 + */ + public InvoiceSettleQueryApiResponse settleQuery(InvoiceSettleQueryApiRequest request) { + String url = "/invoice/settle-query"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceSettleQueryApiResponse.class); + return httpResponse.getServiceResponse(); + } + } diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiRequest.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiRequest.java new file mode 100644 index 0000000..2c1a29f --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiRequest.java @@ -0,0 +1,61 @@ +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.util.List; + +/** + * 231908-发票作废 + * + * @author H.T + * @since 2024-07-22 + */ +@Data +@Accessors(chain = true) +@TransType("231908") +public class InvoiceInfoInvalidApiRequest 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_nos") + private List invoiceNos; + + /** + * 是否作废 1-作废 0:有效 + */ + @SerializedName("invalid") + private String invalid; +} \ No newline at end of file diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiResponse.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiResponse.java new file mode 100644 index 0000000..8345716 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoInvalidApiResponse.java @@ -0,0 +1,46 @@ +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; + +/** + * 231908-发票作废 + * + * @author H.T + * @since 2024-07-22 + */ +@Data +@Accessors(chain = true) +public class InvoiceInfoInvalidApiResponse 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; +} \ No newline at end of file diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiRequest.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiRequest.java new file mode 100644 index 0000000..9926456 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiRequest.java @@ -0,0 +1,103 @@ +package com.czcb.scfs.service.accountant.invoice.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; + +/** + * 231909-发票查询 + * + * @author H.T + * @since 2024-07-22 + */ +@Data +@Accessors(chain = true) +@TransType("231909") +public class InvoiceInfoQueryApiRequest 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("invoice_no") + private String invoiceNo; + + /** + * 发票登记日期-开始 + */ + @SerializedName("invoice_register_date_start") + private String invoiceRegisterDateStart; + + /** + * 发票登记日期-截至 + */ + @SerializedName("invoice_register_date_end") + private String invoiceRegisterDateEnd; + + /** + * 收款账户账号 + */ + @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; +} \ No newline at end of file diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiResponse.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiResponse.java new file mode 100644 index 0000000..a8b414e --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoQueryApiResponse.java @@ -0,0 +1,142 @@ +package com.czcb.scfs.service.accountant.invoice.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.List; + +/** + * 231909-发票查询 + * + * @author H.T + * @since 2024-07-22 + */ +@Data +@Accessors(chain = true) +public class InvoiceInfoQueryApiResponse 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; + + @Data + public static class InvoiceData implements Serializable { + /** + * 发票编号 + */ + @SerializedName("invoice_no") + private String invoiceNo; + /** + * 发票类型 1、通用发票 2、累计循环发票 + */ + @SerializedName("invoice_type") + private String invoiceType; + /** + * 发票登记日期 + */ + @SerializedName("invoice_register_date") + private String invoiceRegisterDate; + /** + * 收款账户账号 + */ + @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("invoice_belong_start_date") + private String invoiceBelongStartDate; + /** + * 发票归属日期止 + */ + @SerializedName("invoice_belong_end_date") + private String invoiceBelongEndDate; + /** + * 发票金额 + */ + @SerializedName("invoice_amount") + private BigDecimal invoiceAmount; + /** + * 发票状态 0、生效 1、作废 + */ + @SerializedName("invoice_status") + private String invoiceStatus; + /** + * 已匹配金额 + */ + @SerializedName("match_amount") + private BigDecimal matchAmount; + /** + * 匹配状态 0、未匹配 1、已匹配 2、部分匹配 + */ + @SerializedName("match_status") + private String matchStatus; + /** + * 已结算金额 + */ + @SerializedName("settle_amount") + private BigDecimal settleAmount; + /** + * 结算状态 0、未结算 1、已结算 2、部分结算 + */ + @SerializedName("settle_status") + private String settleStatus; + } +} \ No newline at end of file diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiRequest.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiRequest.java index 6c9f848..96e3163 100644 --- a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiRequest.java +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiRequest.java @@ -13,12 +13,42 @@ import java.math.BigDecimal; * 231907-发票登记 * * @author H.T - * @since 2024-07-15 + * @since 2024-07-22 */ @Data @Accessors(chain = true) @TransType("231907") public class InvoiceInfoSaveApiRequest 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; + /** * 发票编号 */ diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiResponse.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiResponse.java index c392a28..e951f66 100644 --- a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiResponse.java +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiResponse.java @@ -5,6 +5,12 @@ import com.google.gson.annotations.SerializedName; import lombok.Data; import lombok.experimental.Accessors; +/** + * 231907-发票登记 + * + * @author H.T + * @since 2024-07-22 + */ @Data @Accessors(chain = true) public class InvoiceInfoSaveApiResponse implements ApiResponse { diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiRequest.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiRequest.java new file mode 100644 index 0000000..f41b0d5 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiRequest.java @@ -0,0 +1,72 @@ +package com.czcb.scfs.service.accountant.invoice.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; + +/** + * 232109-发票结算明细查询 + * + * @author H.T + * @since 2024-07-22 + */ +@Data +@Accessors(chain = true) +@TransType("232109") +public class InvoiceSettleQueryApiRequest 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("invoice_no") + private String invoiceNo; + + /** + * 贷款申请账号 + */ + @SerializedName("apply_account_no") + private String applyAccountNo; + + /** + * 贷款申请户名 + */ + @SerializedName("apply_account_name") + private String applyAccountName; + + /** + * 贷款账号(借据编号) + */ + @SerializedName("loan_acct_no") + private String loanAcctNo; +} diff --git a/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiResponse.java b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiResponse.java new file mode 100644 index 0000000..94c0d4e --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceSettleQueryApiResponse.java @@ -0,0 +1,113 @@ +package com.czcb.scfs.service.accountant.invoice.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; + +/** + * 232109-发票结算明细查询 + * + * @author H.T + * @since 2024-07-18 + */ +@Data +@Accessors(chain = true) +public class InvoiceSettleQueryApiResponse 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; + + @Data + public static class InvoiceSettleData implements Serializable { + /** + * 发票编号 + */ + @SerializedName("invoice_no") + private String invoiceNo; + /** + * 结算流水号 + */ + @SerializedName("settle_serial_no") + private String settleSerialNo; + /** + * 结算类型 1、贷款还款 2、资金冻结 + */ + @SerializedName("settle_type") + private String settleType; + /** + * 结算日期 + */ + @SerializedName("settle_date") + private Date settleDate; + /** + * 结算金额 + */ + @SerializedName("settle_amount") + private BigDecimal settleAmount; + /** + * 贷款账户账号 + */ + @SerializedName("apply_account_no") + private String applyAccountNo; + /** + * 贷款账户户名 + */ + @SerializedName("apply_account_name") + private String applyAccountName; + /** + * 贷款账号(借据编号) + */ + @SerializedName("loan_acct_no") + private String loanAcctNo; + /** + * 还款本金 + */ + @SerializedName("repay_capital") + private BigDecimal repayCapital; + /** + * 还款利息 + */ + @SerializedName("repay_interest") + private BigDecimal repayInterest; + /** + * 服务费 + */ + @SerializedName("service_fee") + private BigDecimal serviceFee; + } +}