From 5e07ab5ebe018e6a6ef2cf177ae09e534a90c15b Mon Sep 17 00:00:00 2001 From: wb2476 Date: Mon, 22 Jul 2024 11:27:26 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E7=99=BB=E8=AE=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scfs-api-service-accountant/pom.xml | 2 +- .../accountant/invoice/InvoiceService.java | 19 ++++ .../model/InvoiceInfoSaveApiRequest.java | 93 +++++++++++++++++++ .../model/InvoiceInfoSaveApiResponse.java | 40 ++++++++ 4 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiRequest.java create mode 100644 scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiResponse.java diff --git a/scfs-api-service-accountant/pom.xml b/scfs-api-service-accountant/pom.xml index 35918bc..e4f498a 100644 --- a/scfs-api-service-accountant/pom.xml +++ b/scfs-api-service-accountant/pom.xml @@ -12,7 +12,7 @@ scfs-api-service-accountant 2.0.4-snapshot - scfs-api-service-cat:财务中心对外接口 + scfs-api-service-accountant:财务中心对外接口 财务中心SDK jar 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 ec9d1fb..6c33f2d 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 @@ -1,6 +1,13 @@ 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 static com.czcb.scfs.api.core.Constants.API_VERSION; +import static com.czcb.scfs.api.core.Constants.V_2; /** * 发票功能 @@ -9,10 +16,22 @@ import com.czcb.scfs.api.core.ApiClient; * @since 2024-07-22 */ public class InvoiceService { + private final ApiClient apiClient; public InvoiceService(ApiClient apiClient) { this.apiClient = apiClient; } + /** + * 231907-发票登记 + */ + public InvoiceInfoSaveApiResponse add(InvoiceInfoSaveApiRequest request) { + String url = "/invoice/add"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoSaveApiResponse.class); + return httpResponse.getServiceResponse(); + } + } 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 new file mode 100644 index 0000000..6c9f848 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiRequest.java @@ -0,0 +1,93 @@ +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.math.BigDecimal; + +/** + * 231907-发票登记 + * + * @author H.T + * @since 2024-07-15 + */ +@Data +@Accessors(chain = true) +@TransType("231907") +public class InvoiceInfoSaveApiRequest implements ApiRequest { + /** + * 发票编号 + */ + @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; +} \ No newline at end of file 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 new file mode 100644 index 0000000..c392a28 --- /dev/null +++ b/scfs-api-service-accountant/src/main/java/com/czcb/scfs/service/accountant/invoice/model/InvoiceInfoSaveApiResponse.java @@ -0,0 +1,40 @@ +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; + +@Data +@Accessors(chain = true) +public class InvoiceInfoSaveApiResponse 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