feat: 批量查询余额

main
13009 2024-04-09 15:07:42 +08:00
parent 85cfee2c38
commit 325666974c
12 changed files with 231 additions and 18 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-api-sdk</name> <name>scfs-api-sdk</name>
<description>scfs-api-sdk</description> <description>scfs-api-sdk</description>
<packaging>pom</packaging> <packaging>pom</packaging>

View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</parent> </parent>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-core</artifactId> <artifactId>scfs-api-core</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-api-core:核心模块</name> <name>scfs-api-core:核心模块</name>
<description>scfs-api-core</description> <description>scfs-api-core</description>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</parent> </parent>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-rsa</artifactId> <artifactId>scfs-api-rsa</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-api-rsa:RSA模块</name> <name>scfs-api-rsa:RSA模块</name>
<description>封装RSA、AES国密算法</description> <description>封装RSA、AES国密算法</description>
@ -18,7 +18,7 @@
<dependency> <dependency>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-core</artifactId> <artifactId>scfs-api-core</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</parent> </parent>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-service</artifactId> <artifactId>scfs-api-service</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-api-service:通用类接口</name> <name>scfs-api-service:通用类接口</name>
<description>通用类接口</description> <description>通用类接口</description>
<packaging>jar</packaging> <packaging>jar</packaging>
@ -25,7 +25,7 @@
<dependency> <dependency>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-core</artifactId> <artifactId>scfs-api-core</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -104,7 +104,7 @@ public class AccountService {
} }
/** /**
* *
* *
* @param queryBalanceRequest QueryBalanceRequest * @param queryBalanceRequest QueryBalanceRequest
* @return QueryBalanceResponse * @return QueryBalanceResponse
@ -117,6 +117,20 @@ public class AccountService {
return httpResponse.getServiceResponse(); return httpResponse.getServiceResponse();
} }
/**
* -
*
* @param queryBalanceBatchRequest QueryBalanceBatchRequest
* @return QueryBalanceBatchResponse
*/
public QueryBalanceBatchResponse queryBalanceBatch(QueryBalanceBatchRequest queryBalanceBatchRequest) {
String url = "/accInfo/queryBalanceBatch";
HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_1);
HttpResponse<QueryBalanceBatchResponse> httpResponse = apiClient.post(url, headers, queryBalanceBatchRequest.toJsonRequest(), QueryBalanceBatchResponse.class);
return httpResponse.getServiceResponse();
}
/** /**
* *
* *

View File

@ -0,0 +1,48 @@
package com.czcb.scfs.api.service.v1.account.model;
import com.czcb.scfs.api.core.ApiRequest;
import com.czcb.scfs.api.service.TransType;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
/**
*
*
* @author wangwei
* @since 2.0.0
*/
@Data
@Accessors(chain = true)
@TransType("100097")
public class QueryBalanceBatchRequest implements ApiRequest {
/**
*
*/
@SerializedName("channel_no")
private String channelNo;
/**
*
*/
@SerializedName("app_no")
private String appNo;
/**
*
*/
@SerializedName("serial_no")
private String serialNo;
/**
* YYYY-MM-DD
*/
@SerializedName("trans_date")
private String transDate;
/**
*
*/
@SerializedName("trans_tradetime")
private String transTradeTime;
}

View File

@ -0,0 +1,123 @@
package com.czcb.scfs.api.service.v1.account.model;
import com.czcb.scfs.api.core.ApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author wangwei
* @since 2.0.0
*/
@Data
public class QueryBalanceBatchResponse implements ApiResponse {
/**
* 000000
*/
@SerializedName("recode")
private String recode;
/**
*
*/
@SerializedName("recode_info")
private String recodeInfo;
@SerializedName("detail_list")
private List<DetailList> detailList;
/**
* YYYY-MM-DD
*/
@SerializedName("sys_date")
private String sysDate;
/**
* YYYY-MM-DD hh:mm:ss
*/
@SerializedName("sys_time")
private String sysTime;
@Data
public static class DetailList implements Serializable {
/**
*
*/
@SerializedName("account_no")
private String accountNo;
/**
*
*/
@SerializedName("account_name")
private String accountName;
/**
* 0 1
*/
@SerializedName("account_relation")
private String accountRelation;
/**
*
*/
@SerializedName("inner_primary_account_no")
private String innerPrimaryAccountNo;
/**
* 0: 6:
*/
@SerializedName("account_class")
private String accountClass;
/**
*
*/
@SerializedName("cur_balance")
private String curBalance;
/**
*
*/
@SerializedName("avail_balance")
private String availBalance;
/**
*
*/
@SerializedName("withdraw_balance")
private String withdrawBalance;
/**
*
*/
@SerializedName("pre_balance")
private String preBalance;
/**
*
*/
@SerializedName("id_type")
private String idType;
/**
*
*/
@SerializedName("id_no")
private String idNo;
/**
*
*/
@SerializedName("mobile")
private String mobile;
/**
*
*/
@SerializedName("account_status")
private String accountStatus;
}
}

View File

@ -26,7 +26,7 @@ public class OcrService {
* @param ocrFileRequest OcrFileRequest * @param ocrFileRequest OcrFileRequest
* @return OcrFileResponse * @return OcrFileResponse
*/ */
public OcrFileResponse downloadFile(OcrFileRequest ocrFileRequest) { public OcrFileResponse imageRecognize(OcrFileRequest ocrFileRequest) {
String url = "/ocr/imageRecognize"; String url = "/ocr/imageRecognize";
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_1); headers.addHeader(API_VERSION, V_1);

View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</parent> </parent>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-sm</artifactId> <artifactId>scfs-api-sm</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-api-sm:国密模块</name> <name>scfs-api-sm:国密模块</name>
<description>封装SM2、SM4国密算法</description> <description>封装SM2、SM4国密算法</description>
@ -18,7 +18,7 @@
<dependency> <dependency>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-core</artifactId> <artifactId>scfs-api-core</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.tencent.kona/kona-crypto --> <!-- https://mvnrepository.com/artifact/com.tencent.kona/kona-crypto -->

View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</parent> </parent>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-spring-boot-starter</artifactId> <artifactId>scfs-api-spring-boot-starter</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-spring-boot-starter</name> <name>scfs-spring-boot-starter</name>
<description>scfs-spring-boot-starter</description> <description>scfs-spring-boot-starter</description>

View File

@ -5,12 +5,12 @@
<parent> <parent>
<groupId>com.czcb.csf</groupId> <groupId>com.czcb.csf</groupId>
<artifactId>scfs-api-sdk</artifactId> <artifactId>scfs-api-sdk</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
</parent> </parent>
<groupId>com.czcb.scfs</groupId> <groupId>com.czcb.scfs</groupId>
<artifactId>scfs-api-test</artifactId> <artifactId>scfs-api-test</artifactId>
<version>2.0.0-snapshot</version> <version>2024040901-snapshot</version>
<name>scfs-api-test</name> <name>scfs-api-test</name>
<description>scfs-api-test</description> <description>scfs-api-test</description>

View File

@ -1,9 +1,15 @@
package com.czcb.scfs.api.test; package com.czcb.scfs.api.test;
import com.czcb.scfs.api.core.util.Compression;
import com.czcb.scfs.api.core.util.Nonce;
import com.czcb.scfs.api.service.echo.EchoService; import com.czcb.scfs.api.service.echo.EchoService;
import com.czcb.scfs.api.service.v1.account.AccountService; import com.czcb.scfs.api.service.v1.account.AccountService;
import com.czcb.scfs.api.service.v1.account.model.QueryBalanceRequest; import com.czcb.scfs.api.service.v1.account.model.QueryBalanceRequest;
import com.czcb.scfs.api.service.v1.account.model.QueryBalanceResponse; import com.czcb.scfs.api.service.v1.account.model.QueryBalanceResponse;
import com.czcb.scfs.api.service.v1.file.FileService;
import com.czcb.scfs.api.service.v1.file.model.UploadFileRequest;
import com.czcb.scfs.api.service.v1.file.model.UploadFileResponse;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
@ -23,6 +29,9 @@ class ApiGatewayTest {
@Resource @Resource
private AccountService accountService; private AccountService accountService;
@Resource
private FileService fileService;
@Test @Test
void test() { void test() {
echoService.echo(); echoService.echo();
@ -41,4 +50,23 @@ class ApiGatewayTest {
QueryBalanceResponse response = accountService.queryBalance(queryBalanceRequest); QueryBalanceResponse response = accountService.queryBalance(queryBalanceRequest);
System.out.println(response); System.out.println(response);
} }
@Test
void testUploadFile() {
UploadFileRequest fileRequest = new UploadFileRequest();
fileRequest.setChannelNo("0000");
fileRequest.setSerialNo(Nonce.ofNonce());
UploadFileRequest.FileList fileList = new UploadFileRequest.FileList();
fileList.setFileIndex(0);
fileList.setFileData(Compression.zipAndEncodeFromFile("C:\\Users\\Administrator.CZCB-20230627EN\\Documents\\临时文件\\rebase\\测试数据.txt"));
fileRequest.setFileList(Lists.list(fileList));
fileRequest.setTransDate("2024-03-20");
fileRequest.setTransTradeTime("2024-03-20 12:20:20");
UploadFileResponse response = fileService.uploadFile(fileRequest);
System.out.println(response);
}
} }