feat: 发票添加

main
13009 2024-07-11 10:30:29 +08:00
parent 60e33434d3
commit d5308f06e6
8 changed files with 285 additions and 32 deletions

View File

@ -42,18 +42,18 @@ public class InvoiceService {
}
/**
* -
*
*/
public InvoiceAddResponse deleteBatch(InvoiceAddRequest request) {
String url = "/invoice/delete/batch";
public InvoiceInvalidResponse invalid(InvoiceInvalidRequest request) {
String url = "/invoice/invalid";
HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_2);
HttpResponse<InvoiceAddResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceAddResponse.class);
HttpResponse<InvoiceInvalidResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInvalidResponse.class);
return httpResponse.getServiceResponse();
}
/**
* -
*
*/
public InvoiceQueryResponse query(InvoiceQueryRequest request) {
String url = "/invoice/query";

View File

@ -1,6 +1,7 @@
package com.czcb.scfs.service.equity.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;
@ -14,6 +15,7 @@ import java.util.Date;
*/
@Data
@Accessors(chain = true)
@TransType("243301")
public class InvoiceAddRequest implements ApiRequest {
/**
*

View File

@ -1,6 +1,7 @@
package com.czcb.scfs.service.equity.invoice.model;
import com.czcb.scfs.api.core.ApiRequest;
import com.czcb.scfs.api.core.agrs.TransType;
import com.czcb.scfs.api.core.util.DateTimes;
import com.czcb.scfs.api.core.validation.Size;
import com.google.gson.annotations.SerializedName;
@ -16,6 +17,7 @@ import java.util.List;
*/
@Data
@Accessors(chain = true)
@TransType("243300")
public class InvoiceDelRequest implements ApiRequest {
/**
*

View File

@ -0,0 +1,72 @@
package com.czcb.scfs.service.equity.invoice.model;
import com.czcb.scfs.api.core.ApiRequest;
import com.czcb.scfs.api.core.agrs.TransType;
import com.czcb.scfs.api.core.util.DateTimes;
import com.czcb.scfs.api.core.validation.Size;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Arrays;
import java.util.List;
/**
* @author wangwei
* @since 2024/7/8
*/
@Data
@Accessors(chain = true)
@TransType("243302")
public class InvoiceInvalidRequest 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("invalid")
private String invalid = "1";
/**
*
*/
@Size(min = 1, max = 50, message = "数据条数1-50")
@SerializedName("invoice_nos")
private List<String> invoiceNos;
public static InvoiceInvalidRequest of(String channelNo, String appNo, String serialNo, String... invoiceNos) {
InvoiceInvalidRequest request = new InvoiceInvalidRequest();
request.setChannelNo(channelNo);
request.setAppNo(appNo);
request.setSerialNo(serialNo);
request.setTransDate(DateTimes.ofNowDate());
request.setTransTradeTime(DateTimes.ofNow());
request.setInvoiceNos(Arrays.asList(invoiceNos));
return request;
}
}

View File

@ -0,0 +1,43 @@
package com.czcb.scfs.service.equity.invoice.model;
import com.czcb.scfs.api.core.PageApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author wangwei
* @since 2024/7/8
*/
@Data
@Accessors(chain = true)
public class InvoiceInvalidResponse 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;
}

View File

@ -1,19 +1,18 @@
package com.czcb.scfs.service.equity.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;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author wangwei
* @since 2024/7/8
*/
@Data
@Accessors(chain = true)
@TransType("243303")
public class InvoiceQueryRequest implements PageApiRequest {
/**
*
@ -51,15 +50,17 @@ public class InvoiceQueryRequest implements PageApiRequest {
@SerializedName("invoice_no")
private String invoiceNo;
/**
* 1 2
* -
*/
@SerializedName("invoice_type")
private String invoiceType;
@SerializedName("invoice_register_date_start")
private String invoiceRegisterDateStart;
/**
*
* -
*/
@SerializedName("invoice_register_date")
private Date invoiceRegisterDate;
@SerializedName("invoice_register_date_end")
private String invoiceRegisterDateEnd;
/**
*
*/
@ -90,19 +91,4 @@ public class InvoiceQueryRequest implements PageApiRequest {
*/
@SerializedName("settle_account_name")
private String settleAccountName;
/**
*
*/
@SerializedName("invoice_belong_start_date")
private Date invoiceBelongStartDate;
/**
*
*/
@SerializedName("invoice_belong_end_date")
private Date invoiceBelongEndDate;
/**
*
*/
@SerializedName("invoice_amount")
private BigDecimal invoiceAmount;
}

View File

@ -5,6 +5,10 @@ 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 wangwei
* @since 2024/7/8
@ -40,4 +44,96 @@ public class InvoiceQueryResponse implements PageApiResponse {
*/
@SerializedName("sys_time")
private String sysTime;
@SerializedName("data")
private List<InvoiceData> 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;
/**
*
*/
@SerializedName("invoice_status")
private String invoiceStatus;
/**
*
*/
@SerializedName("settle_amount")
private BigDecimal settleAmount;
/**
* 0 1 2
*/
@SerializedName("settle_status")
private String settleStatus;
/**
*
*/
@SerializedName("create_time")
private String createTime;
/**
*
*/
@SerializedName("update_time")
private String updateTime;
}
}

View File

@ -3,12 +3,12 @@ package com.czcb.scfs.api.test.equity.invoice;
import com.czcb.scfs.api.core.util.DateTimes;
import com.czcb.scfs.api.core.util.Nonce;
import com.czcb.scfs.service.equity.invoice.InvoiceService;
import com.czcb.scfs.service.equity.invoice.model.InvoiceDelRequest;
import com.czcb.scfs.service.equity.invoice.model.InvoiceDelResponse;
import com.czcb.scfs.service.equity.invoice.model.*;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Arrays;
@SpringBootTest
@ -25,11 +25,63 @@ class InvoiceServiceTest {
request.setSerialNo(Nonce.ofNonce());
request.setTransDate(DateTimes.ofNowDate());
request.setTransTradeTime(DateTimes.ofNow());
// request.setInvoiceNos(Arrays.asList("2200000909090990"));
request.setInvoiceNos(Arrays.asList("222"));
InvoiceDelResponse response = invoiceService.del(request);
if ("000000".equals(response.getRecode())) {
}
}
@Test
void add() {
InvoiceAddRequest request = new InvoiceAddRequest();
request.setChannelNo("1028");
request.setAppNo("1000");
request.setInvoiceNo("22555ww555333552");
request.setAccountNo("1111");
request.setAccountName("test");
request.setOppAccountNo("223332");
request.setOppAccountName("22");
request.setInvoiceAmount(BigDecimal.ONE);
request.setSerialNo(Nonce.ofNonce());
request.setTransDate(DateTimes.ofNowDate());
request.setTransTradeTime(DateTimes.ofNow());
InvoiceAddResponse response = invoiceService.add(request);
if ("000000".equals(response.getRecode())) {
}
}
@Test
void invalid() {
InvoiceInvalidRequest request = new InvoiceInvalidRequest();
request.setChannelNo("0000");
request.setAppNo("1000");
request.setSerialNo(Nonce.ofNonce());
request.setTransDate(DateTimes.ofNowDate());
request.setTransTradeTime(DateTimes.ofNow());
request.setInvoiceNos(Arrays.asList("22555555552"));
InvoiceInvalidResponse response = invoiceService.invalid(request);
if ("000000".equals(response.getRecode())) {
}
}
@Test
void query() {
InvoiceQueryRequest request = new InvoiceQueryRequest();
request.setChannelNo("0000");
request.setAppNo("1000");
request.setSerialNo(Nonce.ofNonce());
request.setTransDate(DateTimes.ofNowDate());
request.setTransTradeTime(DateTimes.ofNow());
InvoiceQueryResponse response = invoiceService.query(request);
if ("000000".equals(response.getRecode())) {
}
}
}