diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/Constants.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/Constants.java index 2b3b57f..7f279b0 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/Constants.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/Constants.java @@ -40,6 +40,6 @@ public final class Constants { public static final int HEX = 16; // version - public static final String V_1 = "1.0.0"; - public static final String V_2 = "2.0.0"; + public static final String V_1 = "1.0"; + public static final String V_2 = "2.0"; } diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpHeaders.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpHeaders.java index 110e5ee..7c7514c 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpHeaders.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpHeaders.java @@ -5,6 +5,7 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; +import static com.czcb.scfs.api.core.Constants.*; import static java.util.Objects.requireNonNull; @@ -50,4 +51,16 @@ public class HttpHeaders { public void remove(String name) { headers.remove(name); } + + public static HttpHeaders apiVersionV2() { + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + return headers; + } + + public static HttpHeaders apiVersionV1() { + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_1); + return headers; + } } diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/ConstantsTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/ConstantsTest.java index 4f77453..10d9d7c 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/ConstantsTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/ConstantsTest.java @@ -28,5 +28,7 @@ class ConstantsTest { Assertions.assertEquals("User-Agent", Constants.USER_AGENT); Assertions.assertEquals(16, Constants.HEX); + Assertions.assertEquals("1.0", Constants.V_1); + Assertions.assertEquals("2.0", Constants.V_2); } } \ No newline at end of file diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpHeadersTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpHeadersTest.java index 9983567..198967d 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpHeadersTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpHeadersTest.java @@ -11,7 +11,7 @@ import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; class HttpHeadersTest { @Test - void addHeader() { + void addHeaderTest() { HttpHeaders headers = new HttpHeaders(); headers.addHeader("key", "123456"); @@ -63,4 +63,16 @@ class HttpHeadersTest { Assertions.assertTrue(headers.getHeaders().isEmpty()); } + + @Test + void apiVersionV2() { + HttpHeaders headers = HttpHeaders.apiVersionV2(); + Assertions.assertEquals("2.0", headers.getHeaders().get("X-SCFS-Api-Version")); + } + + @Test + void apiVersionV1() { + HttpHeaders headers = HttpHeaders.apiVersionV1(); + Assertions.assertEquals("1.0", headers.getHeaders().get("X-SCFS-Api-Version")); + } } \ No newline at end of file diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/invoice/InvoiceService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/invoice/InvoiceService.java index e88e4dc..cac0b76 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/invoice/InvoiceService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/invoice/InvoiceService.java @@ -5,9 +5,6 @@ import com.czcb.scfs.api.core.http.HttpHeaders; import com.czcb.scfs.api.core.http.HttpResponse; import com.czcb.scfs.api.service.v2.invoice.model.*; -import static com.czcb.scfs.api.core.Constants.API_VERSION; -import static com.czcb.scfs.api.core.Constants.V_2; - /** * 发票类 * @@ -27,9 +24,8 @@ public class InvoiceService { */ public InvoiceInfoSaveResponse add(InvoiceInfoSaveRequest request) { String url = "/invoice/add"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoSaveResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceInfoSaveResponse.class); return httpResponse.getServiceResponse(); } @@ -38,9 +34,8 @@ public class InvoiceService { */ public InvoiceSettleMatchResponse settleMatch(InvoiceSettleMatchRequest request) { String url = "/invoice/settle/match"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceSettleMatchResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceSettleMatchResponse.class); return httpResponse.getServiceResponse(); } @@ -49,9 +44,8 @@ public class InvoiceService { */ public InvoiceDepositQueryResponse invoiceDepositQuery(InvoiceDepositQueryRequest request) { String url = "/invoice/deposit/query"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceDepositQueryResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceDepositQueryResponse.class); return httpResponse.getServiceResponse(); } @@ -60,9 +54,8 @@ public class InvoiceService { */ public InvoiceInfoInvalidResponse invalid(InvoiceInfoInvalidRequest request) { String url = "/invoice/invalid"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoInvalidResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceInfoInvalidResponse.class); return httpResponse.getServiceResponse(); } @@ -71,9 +64,8 @@ public class InvoiceService { */ public InvoiceInfoQueryResponse query(InvoiceInfoQueryRequest request) { String url = "/invoice/query"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceInfoQueryResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceInfoQueryResponse.class); return httpResponse.getServiceResponse(); } @@ -82,9 +74,8 @@ public class InvoiceService { */ public InvoiceSettleQueryResponse settleQuery(InvoiceSettleQueryRequest request) { String url = "/invoice/settle-query"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceSettleQueryResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceSettleQueryResponse.class); return httpResponse.getServiceResponse(); } @@ -93,9 +84,8 @@ public class InvoiceService { */ public InvoiceSettleRepayResponse invoiceSettleRepay(InvoiceSettleRepayRequest request) { String url = "/invoice/settle-repay"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), InvoiceSettleRepayResponse.class); + HttpResponse httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), + request.toJsonRequest(), InvoiceSettleRepayResponse.class); return httpResponse.getServiceResponse(); } } diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java index ef7c0f3..53ae45d 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/account/AccountServiceTest.java @@ -1487,4 +1487,78 @@ class AccountServiceTest { Assertions.assertEquals("setOriginalSerialNo", response.getOriginalSerialNo()); Assertions.assertEquals("setCustomerNo", response.getCustomerNo()); } + + @Test + void openAccSubTest() { + OpenAccSubRequest request = new OpenAccSubRequest(); + extractedOpenAccSubRequestParams(request); + extractedOpenAccSubRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"account_class\":\"setAccountClass\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); + + OpenAccSubResponse response = new OpenAccSubResponse(); + extractedOpenAccSubResponseParams(response); + extractedOpenAccSubResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sub_account_no\":\"setSubAccountNo\",\"sub_account_name\":\"setSubAccountName\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/account/v2/sub-open-account", response, OpenAccSubResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/account/v2/sub-open-account"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(OpenAccSubResponse.class))) + .thenReturn(httpResponse); + + OpenAccSubResponse result = service.openAccSub(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sub_account_no\":\"setSubAccountNo\",\"sub_account_name\":\"setSubAccountName\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + + void extractedOpenAccSubRequestParams(OpenAccSubRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setAccountClass("setAccountClass"); + request.setSerialNo("setSerialNo"); + request.setAccountName("setAccountName"); + request.setAppNo("setAppNo"); + request.setChannelNo("setChannelNo"); + request.setAccountNo("setAccountNo"); + request.setTransDate("setTransDate"); + } + + void extractedOpenAccSubRequestAssertions(OpenAccSubRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setAccountClass", request.getAccountClass()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setAccountName", request.getAccountName()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + } + + void extractedOpenAccSubResponseParams(OpenAccSubResponse response) { + response.setRecode("setRecode"); + response.setRecodeInfo("setRecodeInfo"); + response.setSubAccountNo("setSubAccountNo"); + response.setSysDate("setSysDate"); + response.setSysTime("setSysTime"); + response.setSubAccountName("setSubAccountName"); + } + + void extractedOpenAccSubResponseAssertions(OpenAccSubResponse response) { + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSubAccountNo", response.getSubAccountNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setSubAccountName", response.getSubAccountName()); + } + } \ No newline at end of file diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/invoice/InvoiceServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/invoice/InvoiceServiceTest.java new file mode 100644 index 0000000..b55d85f --- /dev/null +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/invoice/InvoiceServiceTest.java @@ -0,0 +1,696 @@ +package com.czcb.scfs.api.service.v2.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.api.core.http.RequestBody; +import com.czcb.scfs.api.core.util.Json; +import com.czcb.scfs.api.service.TestHttpResponse; +import com.czcb.scfs.api.service.v2.invoice.model.*; +import org.assertj.core.util.Lists; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.math.BigDecimal; + +@ExtendWith(MockitoExtension.class) +class InvoiceServiceTest { + @InjectMocks + private InvoiceService service; + + @Mock + private ApiClient apiClient; + + @Test + void addTest() { + InvoiceInfoSaveRequest request = new InvoiceInfoSaveRequest(); + extractedInvoiceInfoSaveRequestParams(request); + extractedInvoiceInfoSaveRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"invoice_no\":\"setInvoiceNo\",\"invoice_type\":\"setInvoiceType\",\"invoice_register_date\":\"setInvoiceRegisterDate\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\",\"invoice_belong_start_date\":\"setInvoiceBelongStartDate\",\"invoice_belong_end_date\":\"setInvoiceBelongEndDate\",\"invoice_amount\":100.0}", requestJson); + + InvoiceInfoSaveResponse response = new InvoiceInfoSaveResponse(); + extractedInvoiceInfoSaveResponseParams(response); + extractedInvoiceInfoSaveResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/add", response, InvoiceInfoSaveResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/add"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceInfoSaveResponse.class))) + .thenReturn(httpResponse); + + InvoiceInfoSaveResponse result = service.add(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + + void extractedInvoiceInfoSaveRequestParams(InvoiceInfoSaveRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setInvoiceType("setInvoiceType"); + request.setSettleAccountNo("setSettleAccountNo"); + request.setChannelNo("setChannelNo"); + request.setInvoiceNo("setInvoiceNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + request.setInvoiceAmount(BigDecimal.valueOf(100.00)); + request.setAccountName("setAccountName"); + request.setOppAccountName("setOppAccountName"); + request.setOppAccountNo("setOppAccountNo"); + request.setAccountNo("setAccountNo"); + request.setInvoiceRegisterDate("setInvoiceRegisterDate"); + request.setInvoiceBelongEndDate("setInvoiceBelongEndDate"); + request.setSettleAccountName("setSettleAccountName"); + request.setInvoiceBelongStartDate("setInvoiceBelongStartDate"); + } + + void extractedInvoiceInfoSaveRequestAssertions(InvoiceInfoSaveRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setInvoiceType", request.getInvoiceType()); + Assertions.assertEquals("setSettleAccountNo", request.getSettleAccountNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setInvoiceNo", request.getInvoiceNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getInvoiceAmount()); + Assertions.assertEquals("setAccountName", request.getAccountName()); + Assertions.assertEquals("setOppAccountName", request.getOppAccountName()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setInvoiceRegisterDate", request.getInvoiceRegisterDate()); + Assertions.assertEquals("setInvoiceBelongEndDate", request.getInvoiceBelongEndDate()); + Assertions.assertEquals("setSettleAccountName", request.getSettleAccountName()); + Assertions.assertEquals("setInvoiceBelongStartDate", request.getInvoiceBelongStartDate()); + } + + void extractedInvoiceInfoSaveResponseParams(InvoiceInfoSaveResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + } + + void extractedInvoiceInfoSaveResponseAssertions(InvoiceInfoSaveResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + } + + @Test + void queryTest() { + InvoiceInfoQueryRequest request = new InvoiceInfoQueryRequest(); + extractedInvoiceInfoQueryRequestParams(request); + extractedInvoiceInfoQueryRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"invoice_no\":\"setInvoiceNo\",\"invoice_register_date_start\":\"setInvoiceRegisterDateStart\",\"invoice_register_date_end\":\"setInvoiceRegisterDateEnd\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\"}", requestJson); + + InvoiceInfoQueryResponse response = new InvoiceInfoQueryResponse(); + extractedInvoiceInfoQueryResponseParams(response); + extractedInvoiceInfoQueryResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"invoice_type\":\"setInvoiceType\",\"invoice_register_date\":\"setInvoiceRegisterDate\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\",\"invoice_belong_start_date\":\"setInvoiceBelongStartDate\",\"invoice_belong_end_date\":\"setInvoiceBelongEndDate\",\"invoice_amount\":100.0,\"invoice_status\":\"setInvoiceStatus\",\"match_amount\":100.0,\"match_status\":\"setMatchStatus\",\"settle_amount\":100.0,\"settle_status\":\"setSettleStatus\"}]}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/query", response, InvoiceInfoQueryResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/query"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceInfoQueryResponse.class))) + .thenReturn(httpResponse); + + InvoiceInfoQueryResponse result = service.query(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"invoice_type\":\"setInvoiceType\",\"invoice_register_date\":\"setInvoiceRegisterDate\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\",\"invoice_belong_start_date\":\"setInvoiceBelongStartDate\",\"invoice_belong_end_date\":\"setInvoiceBelongEndDate\",\"invoice_amount\":100.0,\"invoice_status\":\"setInvoiceStatus\",\"match_amount\":100.0,\"match_status\":\"setMatchStatus\",\"settle_amount\":100.0,\"settle_status\":\"setSettleStatus\"}]}", resultJson); + } + + void extractedInvoiceInfoQueryRequestParams(InvoiceInfoQueryRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setSettleAccountNo("setSettleAccountNo"); + request.setChannelNo("setChannelNo"); + request.setInvoiceNo("setInvoiceNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + request.setAccountName("setAccountName"); + request.setOppAccountName("setOppAccountName"); + request.setOppAccountNo("setOppAccountNo"); + request.setAccountNo("setAccountNo"); + request.setSettleAccountName("setSettleAccountName"); + request.setInvoiceRegisterDateEnd("setInvoiceRegisterDateEnd"); + request.setInvoiceRegisterDateStart("setInvoiceRegisterDateStart"); + } + + void extractedInvoiceInfoQueryRequestAssertions(InvoiceInfoQueryRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSettleAccountNo", request.getSettleAccountNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setInvoiceNo", request.getInvoiceNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setAccountName", request.getAccountName()); + Assertions.assertEquals("setOppAccountName", request.getOppAccountName()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setSettleAccountName", request.getSettleAccountName()); + Assertions.assertEquals("setInvoiceRegisterDateEnd", request.getInvoiceRegisterDateEnd()); + Assertions.assertEquals("setInvoiceRegisterDateStart", request.getInvoiceRegisterDateStart()); + } + + void extractedInvoiceInfoQueryResponseParams(InvoiceInfoQueryResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + InvoiceInfoQueryResponse.InvoiceData invoicedata = new InvoiceInfoQueryResponse.InvoiceData(); + extractedInvoiceInfoQueryResponseInvoiceDataNestParams(invoicedata); + response.setData(Lists.list(invoicedata)); + } + + void extractedInvoiceInfoQueryResponseInvoiceDataNestParams(InvoiceInfoQueryResponse.InvoiceData nest) { + nest.setInvoiceType("setInvoiceType"); + nest.setSettleAccountNo("setSettleAccountNo"); + nest.setInvoiceNo("setInvoiceNo"); + nest.setInvoiceAmount(BigDecimal.valueOf(100.00)); + nest.setAccountName("setAccountName"); + nest.setOppAccountName("setOppAccountName"); + nest.setOppAccountNo("setOppAccountNo"); + nest.setAccountNo("setAccountNo"); + nest.setMatchStatus("setMatchStatus"); + nest.setInvoiceStatus("setInvoiceStatus"); + nest.setMatchAmount(BigDecimal.valueOf(100.00)); + nest.setSettleStatus("setSettleStatus"); + nest.setSettleAmount(BigDecimal.valueOf(100.00)); + nest.setInvoiceRegisterDate("setInvoiceRegisterDate"); + nest.setInvoiceBelongEndDate("setInvoiceBelongEndDate"); + nest.setSettleAccountName("setSettleAccountName"); + nest.setInvoiceBelongStartDate("setInvoiceBelongStartDate"); + } + + void extractedInvoiceInfoQueryResponseInvoiceDataNestAssertions(InvoiceInfoQueryResponse.InvoiceData nest) { + Assertions.assertEquals("setInvoiceType", nest.getInvoiceType()); + Assertions.assertEquals("setSettleAccountNo", nest.getSettleAccountNo()); + Assertions.assertEquals("setInvoiceNo", nest.getInvoiceNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getInvoiceAmount()); + Assertions.assertEquals("setAccountName", nest.getAccountName()); + Assertions.assertEquals("setOppAccountName", nest.getOppAccountName()); + Assertions.assertEquals("setOppAccountNo", nest.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", nest.getAccountNo()); + Assertions.assertEquals("setMatchStatus", nest.getMatchStatus()); + Assertions.assertEquals("setInvoiceStatus", nest.getInvoiceStatus()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getMatchAmount()); + Assertions.assertEquals("setSettleStatus", nest.getSettleStatus()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getSettleAmount()); + Assertions.assertEquals("setInvoiceRegisterDate", nest.getInvoiceRegisterDate()); + Assertions.assertEquals("setInvoiceBelongEndDate", nest.getInvoiceBelongEndDate()); + Assertions.assertEquals("setSettleAccountName", nest.getSettleAccountName()); + Assertions.assertEquals("setInvoiceBelongStartDate", nest.getInvoiceBelongStartDate()); + } + + void extractedInvoiceInfoQueryResponseAssertions(InvoiceInfoQueryResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + for (InvoiceInfoQueryResponse.InvoiceData invoicedata : response.getData()) { + extractedInvoiceInfoQueryResponseInvoiceDataNestAssertions(invoicedata); + } + } + + @Test + void invalidTest() { + InvoiceInfoInvalidRequest request = new InvoiceInfoInvalidRequest(); + extractedInvoiceInfoInvalidRequestParams(request); + extractedInvoiceInfoInvalidRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"invoice_nos\":[\"123456789\"],\"invalid\":\"setInvalid\"}", requestJson); + + InvoiceInfoInvalidResponse response = new InvoiceInfoInvalidResponse(); + extractedInvoiceInfoInvalidResponseParams(response); + extractedInvoiceInfoInvalidResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/invalid", response, InvoiceInfoInvalidResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/invalid"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceInfoInvalidResponse.class))) + .thenReturn(httpResponse); + + InvoiceInfoInvalidResponse result = service.invalid(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + + void extractedInvoiceInfoInvalidRequestParams(InvoiceInfoInvalidRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setChannelNo("setChannelNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + request.setInvalid("setInvalid"); + request.setInvoiceNos(Lists.list("123456789")); + } + + void extractedInvoiceInfoInvalidRequestAssertions(InvoiceInfoInvalidRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setInvalid", request.getInvalid()); + Assertions.assertNotNull(request.getInvoiceNos()); + } + + void extractedInvoiceInfoInvalidResponseParams(InvoiceInfoInvalidResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + } + + void extractedInvoiceInfoInvalidResponseAssertions(InvoiceInfoInvalidResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + } + + @Test + void invoiceSettleRepayTest() { + InvoiceSettleRepayRequest request = new InvoiceSettleRepayRequest(); + extractedInvoiceSettleRepayRequestParams(request); + extractedInvoiceSettleRepayRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"invoice_no\":\"setInvoiceNo\"}", requestJson); + + InvoiceSettleRepayResponse response = new InvoiceSettleRepayResponse(); + extractedInvoiceSettleRepayResponseParams(response); + extractedInvoiceSettleRepayResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/settle-repay", response, InvoiceSettleRepayResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/settle-repay"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceSettleRepayResponse.class))) + .thenReturn(httpResponse); + + InvoiceSettleRepayResponse result = service.invoiceSettleRepay(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + + void extractedInvoiceSettleRepayRequestParams(InvoiceSettleRepayRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setChannelNo("setChannelNo"); + request.setInvoiceNo("setInvoiceNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + } + + void extractedInvoiceSettleRepayRequestAssertions(InvoiceSettleRepayRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setInvoiceNo", request.getInvoiceNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + } + + void extractedInvoiceSettleRepayResponseParams(InvoiceSettleRepayResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + } + + void extractedInvoiceSettleRepayResponseAssertions(InvoiceSettleRepayResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + } + + @Test + void settleMatchTest() { + InvoiceSettleMatchRequest request = new InvoiceSettleMatchRequest(); + extractedInvoiceSettleMatchRequestParams(request); + extractedInvoiceSettleMatchRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"data\":[{\"deposit_serial_no\":\"setDepositSerialNo\",\"match_amount\":100.0}],\"invoice_no\":\"setInvoiceNo\",\"account_no\":\"setAccountNo\",\"opp_account_no\":\"setOppAccountNo\",\"match_type\":\"setMatchType\"}", requestJson); + + InvoiceSettleMatchResponse response = new InvoiceSettleMatchResponse(); + extractedInvoiceSettleMatchResponseParams(response); + extractedInvoiceSettleMatchResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"deposit_serial_no\":\"setDepositSerialNo\",\"match_amount\":100.0}]}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/settle/match", response, InvoiceSettleMatchResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/settle/match"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceSettleMatchResponse.class))) + .thenReturn(httpResponse); + + InvoiceSettleMatchResponse result = service.settleMatch(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"deposit_serial_no\":\"setDepositSerialNo\",\"match_amount\":100.0}]}", resultJson); + } + + void extractedInvoiceSettleMatchRequestParams(InvoiceSettleMatchRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setChannelNo("setChannelNo"); + request.setInvoiceNo("setInvoiceNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + request.setOppAccountNo("setOppAccountNo"); + request.setAccountNo("setAccountNo"); + InvoiceSettleMatchRequest.InvoiceSettleMatchApiReqData invoicesettlematchapireqdata = new InvoiceSettleMatchRequest.InvoiceSettleMatchApiReqData(); + extractedInvoiceSettleMatchRequestInvoiceSettleMatchApiReqDataNestParams(invoicesettlematchapireqdata); + request.setData(Lists.list(invoicesettlematchapireqdata)); + request.setMatchType("setMatchType"); + } + + void extractedInvoiceSettleMatchRequestInvoiceSettleMatchApiReqDataNestParams(InvoiceSettleMatchRequest.InvoiceSettleMatchApiReqData nest) { + nest.setMatchAmount(BigDecimal.valueOf(100.00)); + nest.setDepositSerialNo("setDepositSerialNo"); + } + + void extractedInvoiceSettleMatchRequestInvoiceSettleMatchApiReqDataNestAssertions(InvoiceSettleMatchRequest.InvoiceSettleMatchApiReqData nest) { + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getMatchAmount()); + Assertions.assertEquals("setDepositSerialNo", nest.getDepositSerialNo()); + } + + void extractedInvoiceSettleMatchRequestAssertions(InvoiceSettleMatchRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setInvoiceNo", request.getInvoiceNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + for (InvoiceSettleMatchRequest.InvoiceSettleMatchApiReqData invoicesettlematchapireqdata : request.getData()) { + extractedInvoiceSettleMatchRequestInvoiceSettleMatchApiReqDataNestAssertions(invoicesettlematchapireqdata); + } + Assertions.assertEquals("setMatchType", request.getMatchType()); + } + + void extractedInvoiceSettleMatchResponseParams(InvoiceSettleMatchResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + InvoiceSettleMatchResponse.InvoiceSettleMatchApiRespData invoicesettlematchapirespdata = new InvoiceSettleMatchResponse.InvoiceSettleMatchApiRespData(); + extractedInvoiceSettleMatchResponseInvoiceSettleMatchApiRespDataNestParams(invoicesettlematchapirespdata); + response.setData(Lists.list(invoicesettlematchapirespdata)); + } + + void extractedInvoiceSettleMatchResponseInvoiceSettleMatchApiRespDataNestParams(InvoiceSettleMatchResponse.InvoiceSettleMatchApiRespData nest) { + nest.setInvoiceNo("setInvoiceNo"); + nest.setMatchAmount(BigDecimal.valueOf(100.00)); + nest.setDepositSerialNo("setDepositSerialNo"); + } + + void extractedInvoiceSettleMatchResponseInvoiceSettleMatchApiRespDataNestAssertions(InvoiceSettleMatchResponse.InvoiceSettleMatchApiRespData nest) { + Assertions.assertEquals("setInvoiceNo", nest.getInvoiceNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getMatchAmount()); + Assertions.assertEquals("setDepositSerialNo", nest.getDepositSerialNo()); + } + + void extractedInvoiceSettleMatchResponseAssertions(InvoiceSettleMatchResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + for (InvoiceSettleMatchResponse.InvoiceSettleMatchApiRespData invoicesettlematchapirespdata : response.getData()) { + extractedInvoiceSettleMatchResponseInvoiceSettleMatchApiRespDataNestAssertions(invoicesettlematchapirespdata); + } + } + + @Test + void settleQueryTest() { + InvoiceSettleQueryRequest request = new InvoiceSettleQueryRequest(); + extractedInvoiceSettleQueryRequestParams(request); + extractedInvoiceSettleQueryRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"invoice_no\":\"setInvoiceNo\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"loan_acct_no\":\"setLoanAcctNo\"}", requestJson); + + InvoiceSettleQueryResponse response = new InvoiceSettleQueryResponse(); + extractedInvoiceSettleQueryResponseParams(response); + extractedInvoiceSettleQueryResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"settle_serial_no\":\"setSettleSerialNo\",\"settle_type\":\"setSettleType\",\"settle_date\":\"setSettleDate\",\"settle_amount\":100.0,\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"loan_acct_no\":\"setLoanAcctNo\",\"repay_capital\":100.0,\"repay_interest\":100.0,\"service_fee\":100.0}]}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/settle-query", response, InvoiceSettleQueryResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/settle-query"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceSettleQueryResponse.class))) + .thenReturn(httpResponse); + + InvoiceSettleQueryResponse result = service.settleQuery(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"settle_serial_no\":\"setSettleSerialNo\",\"settle_type\":\"setSettleType\",\"settle_date\":\"setSettleDate\",\"settle_amount\":100.0,\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"loan_acct_no\":\"setLoanAcctNo\",\"repay_capital\":100.0,\"repay_interest\":100.0,\"service_fee\":100.0}]}", resultJson); + } + + void extractedInvoiceSettleQueryRequestParams(InvoiceSettleQueryRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setChannelNo("setChannelNo"); + request.setInvoiceNo("setInvoiceNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + request.setApplyAccountNo("setApplyAccountNo"); + request.setLoanAcctNo("setLoanAcctNo"); + request.setApplyAccountName("setApplyAccountName"); + } + + void extractedInvoiceSettleQueryRequestAssertions(InvoiceSettleQueryRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setInvoiceNo", request.getInvoiceNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo()); + Assertions.assertEquals("setLoanAcctNo", request.getLoanAcctNo()); + Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName()); + } + + void extractedInvoiceSettleQueryResponseParams(InvoiceSettleQueryResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + InvoiceSettleQueryResponse.InvoiceSettleData invoicesettledata = new InvoiceSettleQueryResponse.InvoiceSettleData(); + extractedInvoiceSettleQueryResponseInvoiceSettleDataNestParams(invoicesettledata); + response.setData(Lists.list(invoicesettledata)); + } + + void extractedInvoiceSettleQueryResponseInvoiceSettleDataNestParams(InvoiceSettleQueryResponse.InvoiceSettleData nest) { + nest.setInvoiceNo("setInvoiceNo"); + nest.setApplyAccountNo("setApplyAccountNo"); + nest.setLoanAcctNo("setLoanAcctNo"); + nest.setSettleAmount(BigDecimal.valueOf(100.00)); + nest.setRepayCapital(BigDecimal.valueOf(100.00)); + nest.setSettleDate("setSettleDate"); + nest.setSettleSerialNo("setSettleSerialNo"); + nest.setSettleType("setSettleType"); + nest.setServiceFee(BigDecimal.valueOf(100.00)); + nest.setRepayInterest(BigDecimal.valueOf(100.00)); + nest.setApplyAccountName("setApplyAccountName"); + } + + void extractedInvoiceSettleQueryResponseInvoiceSettleDataNestAssertions(InvoiceSettleQueryResponse.InvoiceSettleData nest) { + Assertions.assertEquals("setInvoiceNo", nest.getInvoiceNo()); + Assertions.assertEquals("setApplyAccountNo", nest.getApplyAccountNo()); + Assertions.assertEquals("setLoanAcctNo", nest.getLoanAcctNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getSettleAmount()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getRepayCapital()); + Assertions.assertEquals("setSettleDate", nest.getSettleDate()); + Assertions.assertEquals("setSettleSerialNo", nest.getSettleSerialNo()); + Assertions.assertEquals("setSettleType", nest.getSettleType()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getServiceFee()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getRepayInterest()); + Assertions.assertEquals("setApplyAccountName", nest.getApplyAccountName()); + } + + void extractedInvoiceSettleQueryResponseAssertions(InvoiceSettleQueryResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + for (InvoiceSettleQueryResponse.InvoiceSettleData invoicesettledata : response.getData()) { + extractedInvoiceSettleQueryResponseInvoiceSettleDataNestAssertions(invoicesettledata); + } + } + + @Test + void invoiceDepositQueryTest() { + InvoiceDepositQueryRequest request = new InvoiceDepositQueryRequest(); + extractedInvoiceDepositQueryRequestParams(request); + extractedInvoiceDepositQueryRequestAssertions(request); + + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"invoice_no\":\"setInvoiceNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\"}", requestJson); + + InvoiceDepositQueryResponse response = new InvoiceDepositQueryResponse(); + extractedInvoiceDepositQueryResponseParams(response); + extractedInvoiceDepositQueryResponseAssertions(response); + + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\",\"deposit_serial_no\":\"setDepositSerialNo\",\"deposit_amount\":100.0,\"settle_amount\":100.0,\"match_type\":\"setMatchType\",\"match_status\":\"setMatchStatus\",\"match_time\":\"setMatchTime\",\"create_time\":\"setCreateTime\",\"update_time\":\"setUpdateTime\"}]}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/invoice/deposit/query", response, InvoiceDepositQueryResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/invoice/deposit/query"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(InvoiceDepositQueryResponse.class))) + .thenReturn(httpResponse); + + InvoiceDepositQueryResponse result = service.invoiceDepositQuery(request); + + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"invoice_no\":\"setInvoiceNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"settle_account_no\":\"setSettleAccountNo\",\"settle_account_name\":\"setSettleAccountName\",\"deposit_serial_no\":\"setDepositSerialNo\",\"deposit_amount\":100.0,\"settle_amount\":100.0,\"match_type\":\"setMatchType\",\"match_status\":\"setMatchStatus\",\"match_time\":\"setMatchTime\",\"create_time\":\"setCreateTime\",\"update_time\":\"setUpdateTime\"}]}", resultJson); + } + + void extractedInvoiceDepositQueryRequestParams(InvoiceDepositQueryRequest request) { + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setSettleAccountNo("setSettleAccountNo"); + request.setChannelNo("setChannelNo"); + request.setInvoiceNo("setInvoiceNo"); + request.setAppNo("setAppNo"); + request.setSerialNo("setSerialNo"); + request.setAccountName("setAccountName"); + request.setOppAccountName("setOppAccountName"); + request.setOppAccountNo("setOppAccountNo"); + request.setAccountNo("setAccountNo"); + request.setSettleAccountName("setSettleAccountName"); + } + + void extractedInvoiceDepositQueryRequestAssertions(InvoiceDepositQueryRequest request) { + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSettleAccountNo", request.getSettleAccountNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setInvoiceNo", request.getInvoiceNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setAccountName", request.getAccountName()); + Assertions.assertEquals("setOppAccountName", request.getOppAccountName()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setSettleAccountName", request.getSettleAccountName()); + } + + void extractedInvoiceDepositQueryResponseParams(InvoiceDepositQueryResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + InvoiceDepositQueryResponse.InvoiceDepositData invoicedepositdata = new InvoiceDepositQueryResponse.InvoiceDepositData(); + extractedInvoiceDepositQueryResponseInvoiceDepositDataNestParams(invoicedepositdata); + response.setData(Lists.list(invoicedepositdata)); + } + + void extractedInvoiceDepositQueryResponseInvoiceDepositDataNestParams(InvoiceDepositQueryResponse.InvoiceDepositData nest) { + nest.setUpdateTime("setUpdateTime"); + nest.setDepositAmount(BigDecimal.valueOf(100.00)); + nest.setMatchTime("setMatchTime"); + nest.setCreateTime("setCreateTime"); + nest.setSettleAccountNo("setSettleAccountNo"); + nest.setInvoiceNo("setInvoiceNo"); + nest.setAccountName("setAccountName"); + nest.setOppAccountName("setOppAccountName"); + nest.setOppAccountNo("setOppAccountNo"); + nest.setAccountNo("setAccountNo"); + nest.setMatchType("setMatchType"); + nest.setMatchStatus("setMatchStatus"); + nest.setSettleAmount(BigDecimal.valueOf(100.00)); + nest.setDepositSerialNo("setDepositSerialNo"); + nest.setSettleAccountName("setSettleAccountName"); + } + + void extractedInvoiceDepositQueryResponseInvoiceDepositDataNestAssertions(InvoiceDepositQueryResponse.InvoiceDepositData nest) { + Assertions.assertEquals("setUpdateTime", nest.getUpdateTime()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getDepositAmount()); + Assertions.assertEquals("setMatchTime", nest.getMatchTime()); + Assertions.assertEquals("setCreateTime", nest.getCreateTime()); + Assertions.assertEquals("setSettleAccountNo", nest.getSettleAccountNo()); + Assertions.assertEquals("setInvoiceNo", nest.getInvoiceNo()); + Assertions.assertEquals("setAccountName", nest.getAccountName()); + Assertions.assertEquals("setOppAccountName", nest.getOppAccountName()); + Assertions.assertEquals("setOppAccountNo", nest.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", nest.getAccountNo()); + Assertions.assertEquals("setMatchType", nest.getMatchType()); + Assertions.assertEquals("setMatchStatus", nest.getMatchStatus()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getSettleAmount()); + Assertions.assertEquals("setDepositSerialNo", nest.getDepositSerialNo()); + Assertions.assertEquals("setSettleAccountName", nest.getSettleAccountName()); + } + + void extractedInvoiceDepositQueryResponseAssertions(InvoiceDepositQueryResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + for (InvoiceDepositQueryResponse.InvoiceDepositData invoicedepositdata : response.getData()) { + extractedInvoiceDepositQueryResponseInvoiceDepositDataNestAssertions(invoicedepositdata); + } + } +} diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/pay/PayServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/pay/PayServiceTest.java index 940c0c2..ff6208b 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/pay/PayServiceTest.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/pay/PayServiceTest.java @@ -882,4 +882,231 @@ class PayServiceTest { Assertions.assertEquals("setNote", nest.getNote()); } + @Test + void detailQueryTest() { + OfflineRechargeDetailQueryRequest request = new OfflineRechargeDetailQueryRequest(); + extractedOfflineRechargeDetailQueryRequestParams(request); + extractedOfflineRechargeDetailQueryRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"account_no\":\"setAccountNo\",\"opp_account_no\":\"setOppAccountNo\",\"trade_date_start\":\"setTradeDateStart\",\"trade_date_end\":\"setTradeDateEnd\"}", requestJson); + + OfflineRechargeDetailQueryResponse response = new OfflineRechargeDetailQueryResponse(); + extractedOfflineRechargeDetailQueryResponseParams(response); + extractedOfflineRechargeDetailQueryResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"account_class\":\"setAccountClass\",\"seq_no\":\"setSeqNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"core_account_no\":\"setCoreAccountNo\",\"trans_amount\":100.0,\"pay_path\":\"setPayPath\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"status\":\"setStatus\",\"failure_msg\":\"setFailureMsg\",\"failure_flag\":\"setFailureFlag\",\"redo_flag\":\"setRedoFlag\"}]}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/offline-recharge/details/query", response, OfflineRechargeDetailQueryResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/offline-recharge/details/query"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(OfflineRechargeDetailQueryResponse.class))) + .thenReturn(httpResponse); + + OfflineRechargeDetailQueryResponse result = service.detailQuery(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"account_class\":\"setAccountClass\",\"seq_no\":\"setSeqNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"core_account_no\":\"setCoreAccountNo\",\"trans_amount\":100.0,\"pay_path\":\"setPayPath\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"status\":\"setStatus\",\"failure_msg\":\"setFailureMsg\",\"failure_flag\":\"setFailureFlag\",\"redo_flag\":\"setRedoFlag\"}]}", resultJson); + } + + void extractedOfflineRechargeDetailQueryRequestParams(OfflineRechargeDetailQueryRequest request) { + request.setAppNo("setAppNo"); + request.setTradeDateEnd("setTradeDateEnd"); + request.setChannelNo("setChannelNo"); + request.setTradeDateStart("setTradeDateStart"); + request.setTransDate("setTransDate"); + request.setOppAccountNo("setOppAccountNo"); + request.setTransTradeTime("setTransTradeTime"); + request.setAccountNo("setAccountNo"); + request.setSerialNo("setSerialNo"); + } + + void extractedOfflineRechargeDetailQueryRequestAssertions(OfflineRechargeDetailQueryRequest request) { + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setTradeDateEnd", request.getTradeDateEnd()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setTradeDateStart", request.getTradeDateStart()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + } + + void extractedOfflineRechargeDetailQueryResponseParams(OfflineRechargeDetailQueryResponse response) { + response.setSysDate("setSysDate"); + OfflineRechargeDetailQueryResponse.OfflineRechargeDetailDTO offlinerechargedetaildto = new OfflineRechargeDetailQueryResponse.OfflineRechargeDetailDTO(); + extractedOfflineRechargeDetailQueryResponseOfflineRechargeDetailDTONestParams(offlinerechargedetaildto); + response.setData(Lists.list(offlinerechargedetaildto)); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setRecodeInfo("setRecodeInfo"); + response.setSysSerialNo("setSysSerialNo"); + } + + void extractedOfflineRechargeDetailQueryResponseOfflineRechargeDetailDTONestParams(OfflineRechargeDetailQueryResponse.OfflineRechargeDetailDTO nest) { + nest.setOppAccountNo("setOppAccountNo"); + nest.setAccountNo("setAccountNo"); + nest.setCoreAccountNo("setCoreAccountNo"); + nest.setRedoFlag("setRedoFlag"); + nest.setSeqNo("setSeqNo"); + nest.setFailureFlag("setFailureFlag"); + nest.setOppAccountName("setOppAccountName"); + nest.setAccountClass("setAccountClass"); + nest.setTransAmount(BigDecimal.valueOf(100.00)); + nest.setPayPath("setPayPath"); + nest.setFailureMsg("setFailureMsg"); + nest.setAccountName("setAccountName"); + nest.setStatus("setStatus"); + } + + void extractedOfflineRechargeDetailQueryResponseOfflineRechargeDetailDTONestAssertions(OfflineRechargeDetailQueryResponse.OfflineRechargeDetailDTO nest) { + Assertions.assertEquals("setOppAccountNo", nest.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", nest.getAccountNo()); + Assertions.assertEquals("setCoreAccountNo", nest.getCoreAccountNo()); + Assertions.assertEquals("setRedoFlag", nest.getRedoFlag()); + Assertions.assertEquals("setSeqNo", nest.getSeqNo()); + Assertions.assertEquals("setFailureFlag", nest.getFailureFlag()); + Assertions.assertEquals("setOppAccountName", nest.getOppAccountName()); + Assertions.assertEquals("setAccountClass", nest.getAccountClass()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getTransAmount()); + Assertions.assertEquals("setPayPath", nest.getPayPath()); + Assertions.assertEquals("setFailureMsg", nest.getFailureMsg()); + Assertions.assertEquals("setAccountName", nest.getAccountName()); + Assertions.assertEquals("setStatus", nest.getStatus()); + } + + void extractedOfflineRechargeDetailQueryResponseAssertions(OfflineRechargeDetailQueryResponse response) { + Assertions.assertEquals("setSysDate", response.getSysDate()); + for (OfflineRechargeDetailQueryResponse.OfflineRechargeDetailDTO offlinerechargedetaildto : response.getData()) { + extractedOfflineRechargeDetailQueryResponseOfflineRechargeDetailDTONestAssertions(offlinerechargedetaildto); + } + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + } + + @Test + void detailUnmatchedQueryTest() { + OfflineRechargeDetailUnmatchedQueryRequest request = new OfflineRechargeDetailUnmatchedQueryRequest(); + extractedOfflineRechargeDetailUnmatchedQueryRequestParams(request); + extractedOfflineRechargeDetailUnmatchedQueryRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"account_no\":\"setAccountNo\",\"opp_account_no\":\"setOppAccountNo\",\"trade_date_start\":\"setTradeDateStart\",\"trade_date_end\":\"setTradeDateEnd\"}", requestJson); + + OfflineRechargeDetailUnmatchedQueryResponse response = new OfflineRechargeDetailUnmatchedQueryResponse(); + extractedOfflineRechargeDetailUnmatchedQueryResponseParams(response); + extractedOfflineRechargeDetailUnmatchedQueryResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"match_status\":\"setMatchStatus\",\"total_match_amount\":100.0,\"account_class\":\"setAccountClass\",\"seq_no\":\"setSeqNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"core_account_no\":\"setCoreAccountNo\",\"trans_amount\":100.0,\"pay_path\":\"setPayPath\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"status\":\"setStatus\",\"failure_msg\":\"setFailureMsg\",\"failure_flag\":\"setFailureFlag\",\"redo_flag\":\"setRedoFlag\"}]}", responseJson); + + HttpResponse httpResponse = TestHttpResponse.create("/offline-recharge/details/unmatched/query", response, OfflineRechargeDetailUnmatchedQueryResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/offline-recharge/details/unmatched/query"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(OfflineRechargeDetailUnmatchedQueryResponse.class))) + .thenReturn(httpResponse); + + OfflineRechargeDetailUnmatchedQueryResponse result = service.detailUnmatchedQuery(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"data\":[{\"match_status\":\"setMatchStatus\",\"total_match_amount\":100.0,\"account_class\":\"setAccountClass\",\"seq_no\":\"setSeqNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"core_account_no\":\"setCoreAccountNo\",\"trans_amount\":100.0,\"pay_path\":\"setPayPath\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"status\":\"setStatus\",\"failure_msg\":\"setFailureMsg\",\"failure_flag\":\"setFailureFlag\",\"redo_flag\":\"setRedoFlag\"}]}", resultJson); + } + + void extractedOfflineRechargeDetailUnmatchedQueryRequestParams(OfflineRechargeDetailUnmatchedQueryRequest request) { + request.setAppNo("setAppNo"); + request.setTradeDateEnd("setTradeDateEnd"); + request.setChannelNo("setChannelNo"); + request.setTradeDateStart("setTradeDateStart"); + request.setTransDate("setTransDate"); + request.setOppAccountNo("setOppAccountNo"); + request.setTransTradeTime("setTransTradeTime"); + request.setAccountNo("setAccountNo"); + request.setSerialNo("setSerialNo"); + } + + void extractedOfflineRechargeDetailUnmatchedQueryRequestAssertions(OfflineRechargeDetailUnmatchedQueryRequest request) { + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setTradeDateEnd", request.getTradeDateEnd()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setTradeDateStart", request.getTradeDateStart()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + } + + void extractedOfflineRechargeDetailUnmatchedQueryResponseParams(OfflineRechargeDetailUnmatchedQueryResponse response) { + response.setSysDate("setSysDate"); + OfflineRechargeDetailUnmatchedQueryResponse.OfflineRechargeDetailUnmatchedDTO offlinerechargedetailunmatcheddto = new OfflineRechargeDetailUnmatchedQueryResponse.OfflineRechargeDetailUnmatchedDTO(); + extractedOfflineRechargeDetailUnmatchedQueryResponseOfflineRechargeDetailUnmatchedDTONestParams(offlinerechargedetailunmatcheddto); + response.setData(Lists.list(offlinerechargedetailunmatcheddto)); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setRecodeInfo("setRecodeInfo"); + response.setSysSerialNo("setSysSerialNo"); + } + + void extractedOfflineRechargeDetailUnmatchedQueryResponseOfflineRechargeDetailUnmatchedDTONestParams(OfflineRechargeDetailUnmatchedQueryResponse.OfflineRechargeDetailUnmatchedDTO nest) { + nest.setOppAccountNo("setOppAccountNo"); + nest.setAccountNo("setAccountNo"); + nest.setTotalMatchAmount(BigDecimal.valueOf(100.00)); + nest.setCoreAccountNo("setCoreAccountNo"); + nest.setRedoFlag("setRedoFlag"); + nest.setSeqNo("setSeqNo"); + nest.setFailureFlag("setFailureFlag"); + nest.setOppAccountName("setOppAccountName"); + nest.setAccountClass("setAccountClass"); + nest.setTransAmount(BigDecimal.valueOf(100.00)); + nest.setPayPath("setPayPath"); + nest.setFailureMsg("setFailureMsg"); + nest.setAccountName("setAccountName"); + nest.setStatus("setStatus"); + nest.setMatchStatus("setMatchStatus"); + } + + void extractedOfflineRechargeDetailUnmatchedQueryResponseOfflineRechargeDetailUnmatchedDTONestAssertions(OfflineRechargeDetailUnmatchedQueryResponse.OfflineRechargeDetailUnmatchedDTO nest) { + Assertions.assertEquals("setOppAccountNo", nest.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", nest.getAccountNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getTotalMatchAmount()); + Assertions.assertEquals("setCoreAccountNo", nest.getCoreAccountNo()); + Assertions.assertEquals("setRedoFlag", nest.getRedoFlag()); + Assertions.assertEquals("setSeqNo", nest.getSeqNo()); + Assertions.assertEquals("setFailureFlag", nest.getFailureFlag()); + Assertions.assertEquals("setOppAccountName", nest.getOppAccountName()); + Assertions.assertEquals("setAccountClass", nest.getAccountClass()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getTransAmount()); + Assertions.assertEquals("setPayPath", nest.getPayPath()); + Assertions.assertEquals("setFailureMsg", nest.getFailureMsg()); + Assertions.assertEquals("setAccountName", nest.getAccountName()); + Assertions.assertEquals("setStatus", nest.getStatus()); + Assertions.assertEquals("setMatchStatus", nest.getMatchStatus()); + } + + void extractedOfflineRechargeDetailUnmatchedQueryResponseAssertions(OfflineRechargeDetailUnmatchedQueryResponse response) { + Assertions.assertEquals("setSysDate", response.getSysDate()); + for (OfflineRechargeDetailUnmatchedQueryResponse.OfflineRechargeDetailUnmatchedDTO offlinerechargedetailunmatcheddto : response.getData()) { + extractedOfflineRechargeDetailUnmatchedQueryResponseOfflineRechargeDetailUnmatchedDTONestAssertions(offlinerechargedetailunmatcheddto); + } + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + } + + } \ No newline at end of file diff --git a/scfs-api-test/src/main/java/com/czcb/scfs/api/test/RefGenTestMethod.java b/scfs-api-test/src/main/java/com/czcb/scfs/api/test/RefGenTestMethod.java index b4ee1b0..f7da2d5 100644 --- a/scfs-api-test/src/main/java/com/czcb/scfs/api/test/RefGenTestMethod.java +++ b/scfs-api-test/src/main/java/com/czcb/scfs/api/test/RefGenTestMethod.java @@ -51,9 +51,16 @@ public class RefGenTestMethod { continue; } + // 方法参数为List if (method.getParameterTypes()[0].isAssignableFrom(List.class)) { ParameterizedType type = (ParameterizedType) method.getGenericParameterTypes()[0]; Class actualType = Class.forName(type.getActualTypeArguments()[0].getTypeName()); + // List为String类型集合 + if (actualType.isAssignableFrom(String.class)) { + print("\trequest.%s(Lists.list(\"%s\"));\n", method.getName(), "123456789"); + continue; + } + list.add(actualType); String lowerCase = actualType.getSimpleName().toLowerCase(); @@ -68,6 +75,10 @@ public class RefGenTestMethod { print("}\n"); for (Class clazz : list) { + if (clazz.isAssignableFrom(String.class)) { + continue; + } + genNest(request, clazz); } } @@ -85,6 +96,10 @@ public class RefGenTestMethod { if (method.getParameterTypes()[0].isAssignableFrom(List.class)) { ParameterizedType type = (ParameterizedType) method.getGenericParameterTypes()[0]; Class actualType = Class.forName(type.getActualTypeArguments()[0].getTypeName()); + if (actualType.isAssignableFrom(String.class)) { + printAssertions(FMT_REQUEST_ASSERTIONS, method, true); + continue; + } String lowerCase = actualType.getSimpleName().toLowerCase(); print("\tfor (%s.%s %s : request.%s()) {\n", request.getSimpleName(), actualType.getSimpleName(), lowerCase, method.getName().replace("set", "get")); @@ -111,6 +126,11 @@ public class RefGenTestMethod { ParameterizedType type = (ParameterizedType) method.getGenericParameterTypes()[0]; Class actualType = Class.forName(type.getActualTypeArguments()[0].getTypeName()); list.add(actualType); + // List为String类型集合 + if (actualType.isAssignableFrom(String.class)) { + print("\tresponse.%s(Lists.list(\"%s\"));\n", method.getName(), "0987"); + continue; + } String lowerCase = actualType.getSimpleName().toLowerCase(); print("\t%s.%s %s = new %s.%s();\n", response.getSimpleName(), actualType.getSimpleName(), lowerCase, response.getSimpleName(), actualType.getSimpleName()); @@ -123,6 +143,10 @@ public class RefGenTestMethod { print("}\n"); for (Class clazz : list) { + if (clazz.isAssignableFrom(String.class)) { + continue; + } + genNest(response, clazz); } } @@ -139,6 +163,11 @@ public class RefGenTestMethod { if (method.getParameterTypes()[0].isAssignableFrom(List.class)) { ParameterizedType type = (ParameterizedType) method.getGenericParameterTypes()[0]; Class actualType = Class.forName(type.getActualTypeArguments()[0].getTypeName()); + // List为String类型集合 + if (actualType.isAssignableFrom(String.class)) { + printAssertions(FMT_RESPONSE_ASSERTIONS, method, false); + continue; + } String lowerCase = actualType.getSimpleName().toLowerCase(); print("\tfor (%s.%s %s : response.%s()) {\n", response.getSimpleName(), actualType.getSimpleName(), lowerCase, method.getName().replace("set", "get"));