Compare commits

..

10 Commits

15 changed files with 197 additions and 41 deletions

12
pom.xml
View File

@ -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>

View File

@ -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
```
## 代码扫描

View File

@ -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>

View File

@ -11,13 +11,21 @@ public class ObjReflect {
}
public static Object getValue(Object obj, String fieldName) {
try {
Field field = obj.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
return field.get(obj);
} catch (Exception e) {
return null;
Class<?> clazz = obj.getClass();
while (clazz != null) {
try {
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) {

View File

@ -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>

View File

@ -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>

View File

@ -36,7 +36,7 @@ public class BmdQueryResponse implements ApiResponse {
/**
* 1n
*/
@SerializedName("detail_list")
@SerializedName("data")
private List<DetailList> detailList;
/**

View File

@ -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();

View File

@ -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 -->

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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));
}
}

View File

@ -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);
}

View File

@ -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));
}
}