From 73a070bc6ee9174d4f9f331b3beed014e89d72b3 Mon Sep 17 00:00:00 2001 From: 13009 Date: Fri, 21 Jun 2024 16:05:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20v2=20=E5=8D=95=E5=85=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scfs/api/service/v2/pay/PayService.java | 16 ---- .../v2/pay/model/TransferSelfAccRequest.java | 80 ------------------- .../v2/pay/model/TransferSelfAccResponse.java | 51 ------------ .../api/service/echo/EchoServiceTest.java | 4 - .../api/service/v2/pay/PayServiceTest.java | 78 +----------------- .../czcb/scfs/api/test/RefGenTestMethod.java | 40 +++++----- .../scfs/api/test/RefGenTestMethodTest.java | 19 +++-- 7 files changed, 34 insertions(+), 254 deletions(-) delete mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccRequest.java delete mode 100644 scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccResponse.java diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/PayService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/PayService.java index a6d68d1..c62eb97 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/PayService.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/PayService.java @@ -89,21 +89,6 @@ public class PayService { return httpResponse.getServiceResponse(); } - /** - * 解冻划款 - * - * @param transferSelfAccRequest TransferSelfAccRequest - * @return TransferSelfAccResponse - */ - @Deprecated - public TransferSelfAccResponse transferSelfAcc(TransferSelfAccRequest transferSelfAccRequest) { - String url = "/zzTrade/transferSelfAcc"; - HttpHeaders headers = new HttpHeaders(); - headers.addHeader(API_VERSION, V_2); - HttpResponse httpResponse = apiClient.post(url, headers, transferSelfAccRequest.toJsonRequest(), TransferSelfAccResponse.class); - return httpResponse.getServiceResponse(); - } - /** * 保证金缴纳 * @@ -118,7 +103,6 @@ public class PayService { return httpResponse.getServiceResponse(); } - /** * 保证金释放 * diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccRequest.java deleted file mode 100644 index 7460c1c..0000000 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccRequest.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.czcb.scfs.api.service.v2.pay.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; - -/** - * 解冻划款 - * - * @author wangwei - * @since 2.0.0 - */ -@Data -@Accessors(chain = true) -@TransType("100098") -public class TransferSelfAccRequest implements ApiRequest { - /** - * 渠道编号 - */ - @SerializedName("channel_no") - private String channelNo; - - /** - * 应用编号 - */ - @SerializedName("app_no") - private String appNo; - - /** - * 流水号 - */ - @SerializedName("serial_no") - private String serialNo; - - /** - * 转出账号,A2账号 - */ - @SerializedName("account_no") - private String accountNo; - - /** - * 转入账号,A1账号 - */ - @SerializedName("opp_account_no") - private String oppAccountNo; - - /** - * 账户户名 - */ - @SerializedName("opp_account_name") - private String oppAccountName; - - /** - * 交易金额 - */ - @SerializedName("trans_amount") - private BigDecimal transAmount; - - /** - * 摘要 - */ - @SerializedName("trans_summary") - private String transSummary; - - /** - * 操作日期 - */ - @SerializedName("trans_date") - private String transDate; - - /** - * 操作时间 - */ - @SerializedName("trans_tradetime") - private String transTradeTime; -} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccResponse.java deleted file mode 100644 index 39437a5..0000000 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/pay/model/TransferSelfAccResponse.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.czcb.scfs.api.service.v2.pay.model; - -import com.czcb.scfs.api.core.ApiResponse; -import com.google.gson.annotations.SerializedName; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 解冻划款 - * - * @author wangwei - * @since 2.0.0 - */ -@Data -@Accessors(chain = true) -public class TransferSelfAccResponse implements ApiResponse { - /** - * 000000:表示成功 - */ - @SerializedName("recode") - private String recode; - - /** - * 结果信息 - */ - @SerializedName("recode_info") - private String recodeInfo; - /** - * 系统流水号 - */ - @SerializedName("sys_serial_no") - private String sysSerialNo; - - /** - * 原交易流水号 - */ - @SerializedName("original_serialno") - private String originalSerialNo; - - /** - * 系统日期(YYYY-MM-DD) - */ - @SerializedName("sys_date") - private String sysDate; - - /** - * 系统时间(YYYY-MM-DD hh:mm:ss) - */ - @SerializedName("sys_time") - private String sysTime; -} diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/echo/EchoServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/echo/EchoServiceTest.java index aed6da7..9376515 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/echo/EchoServiceTest.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/echo/EchoServiceTest.java @@ -11,7 +11,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; import org.mockserver.client.MockServerClient; import org.mockserver.junit.jupiter.MockServerExtension; import org.mockserver.junit.jupiter.MockServerSettings; @@ -23,9 +22,6 @@ import static org.mockserver.model.HttpRequest.request; class EchoServiceTest { private MockServerClient client; - @InjectMocks - private EchoService service; - @BeforeEach public void beforeEachLifecyleMethod(MockServerClient client) { this.client = client; 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 c348291..940c0c2 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 @@ -39,7 +39,7 @@ class PayServiceTest { extractedMerWithdrawResponseParams(response); extractedMerWithdrawResponseAssertions(response); - String responseJson= Json.toJson(response); + String responseJson = Json.toJson(response); Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"serial_no\":\"setSerialNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"original_tradeno\":\"setOriginalTradeNo\",\"original_serialno\":\"setOriginalSerialNo\",\"trans_amount\":100.0,\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); HttpResponse httpResponse = TestHttpResponse.create("/mer-trade/v2/withdraw", response, MerWithdrawResponse.class); @@ -135,7 +135,7 @@ class PayServiceTest { extractedMerWithdrawForPlatformResponseParams(response); extractedMerWithdrawForPlatformResponseAssertions(response); - String responseJson= Json.toJson(response); + String responseJson = Json.toJson(response); Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"original_tradeno\":\"setOriginalTradeNo\",\"original_serialno\":\"setOriginalSerialNo\",\"serial_no\":\"setSerialNo\",\"trans_amount\":100.0,\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); HttpResponse httpResponse = TestHttpResponse.create("/mer-trade/v2/withdraw-for-platform", response, MerWithdrawForPlatformResponse.class); @@ -469,80 +469,6 @@ class PayServiceTest { Assertions.assertEquals("setOriginalSerialNo", response.getOriginalSerialNo()); } - @Test - void transferSelfAccTest() { - TransferSelfAccRequest request = new TransferSelfAccRequest(); - extractedTransferSelfAccRequestParams(request); - extractedTransferSelfAccRequestAssertions(request); - - String requestJson = Json.toJson(request); - Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"account_no\":\"setAccountNo\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"trans_amount\":100.0,\"trans_summary\":\"setTransSummary\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); - - TransferSelfAccResponse response = new TransferSelfAccResponse(); - extractedTransferSelfAccResponseParams(response); - extractedTransferSelfAccResponseAssertions(response); - - String responseJson = Json.toJson(response); - Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"original_serialno\":\"setOriginalSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); - - HttpResponse httpResponse = TestHttpResponse.create("/zzTrade/transferSelfAcc", response, TransferSelfAccResponse.class); - Mockito.when(apiClient.post( - Mockito.eq("/zzTrade/transferSelfAcc"), - Mockito.any(HttpHeaders.class), - Mockito.any(RequestBody.class), - Mockito.eq(TransferSelfAccResponse.class))) - .thenReturn(httpResponse); - - TransferSelfAccResponse result = service.transferSelfAcc(request); - - String resultJson = Json.toJson(result); - Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"original_serialno\":\"setOriginalSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); - } - - void extractedTransferSelfAccRequestParams(TransferSelfAccRequest request) { - request.setSerialNo("setSerialNo"); - request.setAppNo("setAppNo"); - request.setChannelNo("setChannelNo"); - request.setAccountNo("setAccountNo"); - request.setTransDate("setTransDate"); - request.setTransSummary("setTransSummary"); - request.setTransAmount(BigDecimal.valueOf(100.00)); - request.setOppAccountNo("setOppAccountNo"); - request.setTransTradeTime("setTransTradeTime"); - request.setOppAccountName("setOppAccountName"); - } - - void extractedTransferSelfAccRequestAssertions(TransferSelfAccRequest request) { - Assertions.assertEquals("setSerialNo", request.getSerialNo()); - Assertions.assertEquals("setAppNo", request.getAppNo()); - Assertions.assertEquals("setChannelNo", request.getChannelNo()); - Assertions.assertEquals("setAccountNo", request.getAccountNo()); - Assertions.assertEquals("setTransDate", request.getTransDate()); - Assertions.assertEquals("setTransSummary", request.getTransSummary()); - Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getTransAmount()); - Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); - Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); - Assertions.assertEquals("setOppAccountName", request.getOppAccountName()); - } - - void extractedTransferSelfAccResponseParams(TransferSelfAccResponse response) { - response.setSysDate("setSysDate"); - response.setRecode("setRecode"); - response.setSysSerialNo("setSysSerialNo"); - response.setSysTime("setSysTime"); - response.setRecodeInfo("setRecodeInfo"); - response.setOriginalSerialNo("setOriginalSerialNo"); - } - - void extractedTransferSelfAccResponseAssertions(TransferSelfAccResponse response) { - Assertions.assertEquals("setSysDate", response.getSysDate()); - Assertions.assertEquals("setRecode", response.getRecode()); - Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); - Assertions.assertEquals("setSysTime", response.getSysTime()); - Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); - Assertions.assertEquals("setOriginalSerialNo", response.getOriginalSerialNo()); - } - @Test void insureTest() { EarnestInsureRequest request = new EarnestInsureRequest(); 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 4362cc1..b4ee1b0 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 @@ -11,6 +11,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import static java.lang.System.out; + @UtilityClass public class RefGenTestMethod { private static final String FMT_TEST = "@Test \nvoid %sTest() {\n"; @@ -54,10 +56,10 @@ public class RefGenTestMethod { Class actualType = Class.forName(type.getActualTypeArguments()[0].getTypeName()); list.add(actualType); - String sun = actualType.getSimpleName(); - print("\t%s.%s %s = new %s.%s();\n", request.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase(), request.getSimpleName(), actualType.getSimpleName()); - print("\textracted%s%sNestParams(%s);\n", request.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase()); - print("\trequest.%s(Lists.list(%s));\n", method.getName(), sun.toLowerCase()); + String lowerCase = actualType.getSimpleName().toLowerCase(); + print("\t%s.%s %s = new %s.%s();\n", request.getSimpleName(), actualType.getSimpleName(), lowerCase, request.getSimpleName(), actualType.getSimpleName()); + print("\textracted%s%sNestParams(%s);\n", request.getSimpleName(), actualType.getSimpleName(), lowerCase); + print("\trequest.%s(Lists.list(%s));\n", method.getName(), lowerCase); } else { printParams(FMT_REQUEST_METHOD, method); } @@ -74,7 +76,6 @@ public class RefGenTestMethod { private static void genRequestAssertions(Class request) { print("void extracted%sAssertions(%s request) {\n", request.getSimpleName(), request.getSimpleName()); - Set> list = new HashSet<>(); Method[] methods = request.getMethods(); for (Method method : methods) { if (!method.getName().startsWith("set")) { @@ -84,12 +85,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.add(actualType); - String sun = actualType.getSimpleName(); - print("\tfor (%s.%s %s : request.%s()) {\n", request.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase(), method.getName().replace("set", "get")); - print("\t\textracted%s%sNestAssertions(%s);\n", request.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase()); - print("\t}\n", method.getName(), sun.toLowerCase()); + String lowerCase = actualType.getSimpleName().toLowerCase(); + print("\tfor (%s.%s %s : request.%s()) {\n", request.getSimpleName(), actualType.getSimpleName(), lowerCase, method.getName().replace("set", "get")); + print("\t\textracted%s%sNestAssertions(%s);\n", request.getSimpleName(), actualType.getSimpleName(), lowerCase); + print("\t}\n", method.getName(), lowerCase); } else { printAssertions(FMT_REQUEST_ASSERTIONS, method, true); } @@ -112,10 +112,10 @@ public class RefGenTestMethod { Class actualType = Class.forName(type.getActualTypeArguments()[0].getTypeName()); list.add(actualType); - String sun = actualType.getSimpleName(); - print("\t%s.%s %s = new %s.%s();\n", response.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase(), response.getSimpleName(), actualType.getSimpleName()); - print("\textracted%s%sNestParams(%s);\n", response.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase()); - print("\tresponse.%s(Lists.list(%s));\n", method.getName(), sun.toLowerCase()); + String lowerCase = actualType.getSimpleName().toLowerCase(); + print("\t%s.%s %s = new %s.%s();\n", response.getSimpleName(), actualType.getSimpleName(), lowerCase, response.getSimpleName(), actualType.getSimpleName()); + print("\textracted%s%sNestParams(%s);\n", response.getSimpleName(), actualType.getSimpleName(), lowerCase); + print("\tresponse.%s(Lists.list(%s));\n", method.getName(), lowerCase); } else { printParams(FMT_RESPONSE_METHOD, method); } @@ -131,7 +131,6 @@ public class RefGenTestMethod { private static void genResponseAssertions(Class response) { print("void extracted%sAssertions(%s response) {\n", response.getSimpleName(), response.getSimpleName()); - Set> list = new HashSet<>(); Method[] methods = response.getMethods(); for (Method method : methods) { if (!method.getName().startsWith("set")) { @@ -140,12 +139,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.add(actualType); - String sun = actualType.getSimpleName(); - print("\tfor (%s.%s %s : response.%s()) {\n", response.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase(), method.getName().replace("set", "get")); - print("\t\textracted%s%sNestAssertions(%s);\n", response.getSimpleName(), actualType.getSimpleName(), sun.toLowerCase()); - print("\t}\n", method.getName(), sun.toLowerCase()); + String lowerCase = actualType.getSimpleName().toLowerCase(); + print("\tfor (%s.%s %s : response.%s()) {\n", response.getSimpleName(), actualType.getSimpleName(), lowerCase, method.getName().replace("set", "get")); + print("\t\textracted%s%sNestAssertions(%s);\n", response.getSimpleName(), actualType.getSimpleName(), lowerCase); + print("\t}\n", method.getName(), lowerCase); } else { printAssertions(FMT_RESPONSE_ASSERTIONS, method, false); } @@ -211,7 +209,7 @@ public class RefGenTestMethod { } private static void print(String format, Object... args) { - System.out.printf(format, args); + out.printf(format, args); } private static void printParams(String fmt, Method method) { diff --git a/scfs-api-test/src/test/java/com/czcb/scfs/api/test/RefGenTestMethodTest.java b/scfs-api-test/src/test/java/com/czcb/scfs/api/test/RefGenTestMethodTest.java index 6fbf318..635ce02 100644 --- a/scfs-api-test/src/test/java/com/czcb/scfs/api/test/RefGenTestMethodTest.java +++ b/scfs-api-test/src/test/java/com/czcb/scfs/api/test/RefGenTestMethodTest.java @@ -6,26 +6,33 @@ import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsHistoryRequest; import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsHistoryResponse; import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsRequest; import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsResponse; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; class RefGenTestMethodTest { @Test void gen() { - RefGenTestMethod.gen(QueryTradeDetailsHistoryRequest.class, QueryTradeDetailsHistoryResponse.class, - "queryHistory", "/trade-details/v2/query-history"); + Assertions.assertDoesNotThrow(() -> { + RefGenTestMethod.gen(QueryTradeDetailsHistoryRequest.class, QueryTradeDetailsHistoryResponse.class, + "queryHistory", "/trade-details/v2/query-history"); - RefGenTestMethod.gen(QueryTradeDetailsRequest.class, QueryTradeDetailsResponse.class, - "queryTradeDetails", "/trade-details/v2/query"); + RefGenTestMethod.gen(QueryTradeDetailsRequest.class, QueryTradeDetailsResponse.class, + "queryTradeDetails", "/trade-details/v2/query"); + }); } @Test void genServiceTest() { - RefGenTestMethod.genService(AccountService.class); + Assertions.assertDoesNotThrow(() -> { + RefGenTestMethod.genService(AccountService.class); + }); } @Test void genServiceNestTest() { - RefGenTestMethod.genNest(EntPayAgrtQueryListResponse.class, EntPayAgrtQueryListResponse.RecodeList.class); + Assertions.assertDoesNotThrow(() -> { + RefGenTestMethod.genNest(EntPayAgrtQueryListResponse.class, EntPayAgrtQueryListResponse.RecodeList.class); + }); } } \ No newline at end of file