Compare commits
10 Commits
346465ce88
...
74c8e7704e
| Author | SHA1 | Date |
|---|---|---|
|
|
74c8e7704e | |
|
|
aeac8ea23f | |
|
|
50876ebfac | |
|
|
25f38ce29f | |
|
|
2120341b96 | |
|
|
223afe93a9 | |
|
|
4c8cd6a4f9 | |
|
|
8a117d36df | |
|
|
4aaa638f4a | |
|
|
7702766f3a |
12
pom.xml
12
pom.xml
|
|
@ -4,7 +4,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-api-sdk</name>
|
||||
<description>scfs-api-sdk</description>
|
||||
<packaging>pom</packaging>
|
||||
|
|
@ -75,27 +75,27 @@
|
|||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-core</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-rsa</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-service</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sm</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-spring-boot-starter</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -63,10 +63,10 @@ openssl x509 -req -days 3650 -in rsa_csr.pem -signkey rsa_private_key.pem -out r
|
|||
|
||||
```shell
|
||||
# 开发测试阶段使用快照版本
|
||||
mvn versions:set -DnewVersion=2.0.29-snapshot
|
||||
mvn versions:set -DnewVersion=2.0.31-snapshot
|
||||
|
||||
# 正式版本,版本号加一
|
||||
mvn versions:set -DnewVersion=2.0.29
|
||||
mvn versions:set -DnewVersion=2.0.31
|
||||
```
|
||||
|
||||
## 代码扫描
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<parent>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>scfs-api-core</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-api-core:核心模块</name>
|
||||
<description>scfs-api-core</description>
|
||||
<packaging>jar</packaging>
|
||||
|
|
|
|||
|
|
@ -11,14 +11,22 @@ public class ObjReflect {
|
|||
}
|
||||
|
||||
public static Object getValue(Object obj, String fieldName) {
|
||||
Class<?> clazz = obj.getClass();
|
||||
while (clazz != null) {
|
||||
try {
|
||||
Field field = obj.getClass().getDeclaredField(fieldName);
|
||||
Field field = clazz.getDeclaredField(fieldName);
|
||||
field.setAccessible(true);
|
||||
return field.get(obj);
|
||||
} catch (NoSuchFieldException e) {
|
||||
// 未声明该字段继续向上查父类
|
||||
clazz = clazz.getSuperclass();
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// 整个链路没有该字段返回null
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getValueAsString(Object obj, String fieldName) {
|
||||
Object value = getValue(obj, fieldName);
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<parent>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>scfs-api-rsa</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-api-rsa:RSA模块</name>
|
||||
<description>封装RSA、AES国密算法</description>
|
||||
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-core</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<parent>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>scfs-api-service</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-api-service:业务接口模型</name>
|
||||
<description>业务接口模型</description>
|
||||
<packaging>jar</packaging>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-core</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public class BmdQueryResponse implements ApiResponse {
|
|||
/**
|
||||
* 明细列表,出现1…n次
|
||||
*/
|
||||
@SerializedName("detail_list")
|
||||
@SerializedName("data")
|
||||
private List<DetailList> detailList;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public class SummaryOrderService {
|
|||
* @author H.T
|
||||
* @since 2026/3/24
|
||||
*/
|
||||
public SummaryOrderQueryPageResponse page(SummaryOrderQueryPageRequest request) {
|
||||
public SummaryOrderQueryPageResponse queryPage(SummaryOrderQueryPageRequest request) {
|
||||
String url = "/summary-order/query-page";
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.addHeader(API_VERSION, V_2);
|
||||
|
|
@ -84,7 +84,7 @@ public class SummaryOrderService {
|
|||
* @author H.T
|
||||
* @since 2026/3/24
|
||||
*/
|
||||
public SummaryOrderQueryDetailResponse detail(SummaryOrderQueryDetailRequest request) {
|
||||
public SummaryOrderQueryDetailResponse queryDetail(SummaryOrderQueryDetailRequest request) {
|
||||
String url = "/summary-order/query-detail";
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.addHeader(API_VERSION, V_2);
|
||||
|
|
@ -99,7 +99,7 @@ public class SummaryOrderService {
|
|||
* @since 2026/3/16
|
||||
*/
|
||||
public SummaryOrderSettleResponse summaryOrderSettle(SummaryOrderSettleRequest request) {
|
||||
String url = "/summary/order/settle";
|
||||
String url = "/summary-order/settle";
|
||||
HttpResponse<SummaryOrderSettleResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
|
||||
request.toJsonRequest(), SummaryOrderSettleResponse.class);
|
||||
return httpResponse.getServiceResponse();
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<parent>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>scfs-api-sm</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-api-sm:国密模块</name>
|
||||
<description>封装SM2、SM4国密算法</description>
|
||||
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-core</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/com.tencent.kona/kona-crypto -->
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<parent>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>scfs-api-spring-boot-starter</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-spring-boot-starter</name>
|
||||
<description>scfs-spring-boot-starter</description>
|
||||
|
||||
|
|
@ -17,22 +17,22 @@
|
|||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-core</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-service</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-rsa</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sm</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<parent>
|
||||
<groupId>com.czcb.scfs</groupId>
|
||||
<artifactId>scfs-api-sdk</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>scfs-api-test</artifactId>
|
||||
<version>2.0.29</version>
|
||||
<version>2.0.31-snapshot</version>
|
||||
<name>scfs-api-test</name>
|
||||
<description>scfs-api-test</description>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ scfs.api-gateway.online=false
|
|||
# \u5916\u7F51\u5730\u5740
|
||||
#scfs.api-gateway.host=http://124.160.111.105:29080/api-gateway
|
||||
# \u5185\u7F51\u5730\u5740
|
||||
#scfs.api-gateway.host=http://10.133.91.109:9080/api-gateway
|
||||
#scfs.api-gateway.host=http://10.133.91.109:9080/api-gateway-kylin
|
||||
scfs.api-gateway.host=http://127.0.0.1:8088/api-gateway
|
||||
scfs.api-gateway.channel.channel-no=1039
|
||||
scfs.api-gateway.channel.channel-no=1021
|
||||
scfs.api-gateway.channel.app-no=42
|
||||
scfs.api-gateway.cipher.store-type=resources
|
||||
#scfs.api-gateway.cipher.channel-private-key=invalid_rsa_private_key.pem
|
||||
|
|
|
|||
|
|
@ -1,8 +1,36 @@
|
|||
package com.czcb.scfs.api.test.service;
|
||||
|
||||
import com.czcb.scfs.api.service.v2.bmd.BmdService;
|
||||
import com.czcb.scfs.api.service.v2.bmd.model.BmdQueryRequest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* 白名单管理Test
|
||||
*
|
||||
* @author H.T
|
||||
* @since 2026-04-21
|
||||
*/
|
||||
@SpringBootTest
|
||||
class BmdServiceTest {
|
||||
|
||||
@Resource
|
||||
private BmdService bmdService;
|
||||
|
||||
@Test
|
||||
void bmdQuery() {
|
||||
BmdQueryRequest request = new BmdQueryRequest();
|
||||
request.setChannelNo("1021");
|
||||
request.setAppNo("21");;
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
request.setAccountNo("1021240512000057");
|
||||
System.err.println(bmdService.bmdQuery(request));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,14 +60,51 @@ class PayServiceTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void detailQuery() {
|
||||
void AsyncTest(){
|
||||
for(int i=0;i<10;i++){
|
||||
new MyThread().start();
|
||||
}
|
||||
try{
|
||||
Thread.sleep(3000000);
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
class MyThread extends Thread{
|
||||
@Override
|
||||
public void run(){
|
||||
for(int i=0;i<1000000;i++){
|
||||
asyncDetailQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void asyncDetailQuery(){
|
||||
OfflineRechargeDetailQueryRequest request = new OfflineRechargeDetailQueryRequest();
|
||||
request.setChannelNo("0000");
|
||||
request.setChannelNo("1021");
|
||||
request.setAppNo("01");
|
||||
request.setSerialNo(Nonce.ofNonce());
|
||||
request.setTransDate(DateTimes.ofNowDate());
|
||||
request.setTransTradeTime(DateTimes.ofNow());
|
||||
request.setAccountNo("1021231114000014");
|
||||
request.setTradeDateStart(DateTimes.ofNowDate());
|
||||
request.setTradeDateEnd(DateTimes.ofNowDate());
|
||||
OfflineRechargeDetailQueryResponse response = payService.detailQuery(request);
|
||||
Assertions.assertNotNull(response);
|
||||
}
|
||||
|
||||
@Test
|
||||
void detailQuery() {
|
||||
OfflineRechargeDetailQueryRequest request = new OfflineRechargeDetailQueryRequest();
|
||||
request.setChannelNo("1021");
|
||||
request.setAppNo("21");
|
||||
request.setSerialNo(Nonce.ofNonce());
|
||||
request.setTransDate(DateTimes.ofNowDate());
|
||||
request.setTransTradeTime(DateTimes.ofNow());
|
||||
request.setAccountNo("1021231114000014");
|
||||
request.setTradeDateStart(DateTimes.ofNowDate());
|
||||
request.setTradeDateEnd(DateTimes.ofNowDate());
|
||||
OfflineRechargeDetailQueryResponse response = payService.detailQuery(request);
|
||||
Assertions.assertNotNull(response);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
package com.czcb.scfs.api.test.service;
|
||||
|
||||
import com.czcb.scfs.api.service.v2.order.SummaryOrderService;
|
||||
import com.czcb.scfs.api.service.v2.order.model.*;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* 汇总订单管理Test
|
||||
*
|
||||
* @author H.T
|
||||
* @since 2026-03-24
|
||||
*/
|
||||
@SpringBootTest
|
||||
class SummaryOrderServiceTest {
|
||||
|
||||
@Resource
|
||||
private SummaryOrderService summaryOrderService;
|
||||
|
||||
@Test
|
||||
void add() {
|
||||
SummaryOrderAddRequest request = new SummaryOrderAddRequest();
|
||||
request.setChannelNo("1038");
|
||||
request.setAppNo("10");
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
|
||||
System.out.println(summaryOrderService.add(request));
|
||||
}
|
||||
|
||||
@Test
|
||||
void mod() {
|
||||
SummaryOrderModRequest request = new SummaryOrderModRequest();
|
||||
request.setChannelNo("1038");
|
||||
request.setAppNo("10");
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
|
||||
System.out.println(summaryOrderService.mod(request));
|
||||
}
|
||||
|
||||
@Test
|
||||
void del() {
|
||||
SummaryOrderDelRequest request = new SummaryOrderDelRequest();
|
||||
request.setChannelNo("1038");
|
||||
request.setAppNo("10");
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
|
||||
System.out.println(summaryOrderService.del(request));
|
||||
}
|
||||
|
||||
@Test
|
||||
void queryPage() {
|
||||
SummaryOrderQueryPageRequest request = new SummaryOrderQueryPageRequest();
|
||||
request.setChannelNo("1038");
|
||||
request.setAppNo("10");
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
|
||||
System.out.println(summaryOrderService.queryPage(request));
|
||||
}
|
||||
|
||||
@Test
|
||||
void queryDetail() {
|
||||
SummaryOrderQueryDetailRequest request = new SummaryOrderQueryDetailRequest();
|
||||
request.setChannelNo("1038");
|
||||
request.setAppNo("10");
|
||||
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||
request.setTransDate("2024-03-20");
|
||||
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||
|
||||
System.out.println(summaryOrderService.queryDetail(request));
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue