Merge remote-tracking branch 'origin/dev' into dev

main
wb3298 2025-07-04 15:45:53 +08:00
commit d0b197be68
10 changed files with 645 additions and 6 deletions

View File

@ -240,4 +240,18 @@ public class AccountService {
HttpResponse<AccountChangeMobileResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), AccountChangeMobileResponse.class); HttpResponse<AccountChangeMobileResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), AccountChangeMobileResponse.class);
return httpResponse.getServiceResponse(); return httpResponse.getServiceResponse();
} }
/**
* 222106-
*
* @author H.T
* @since 2025/07/03
*/
public OpenAccountCompanyResponse religionOpenAccount(OpenAccountCompanyRequest request) {
String url = "/account/v2/religion-open-account";
HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_2);
HttpResponse<OpenAccountCompanyResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), OpenAccountCompanyResponse.class);
return httpResponse.getServiceResponse();
}
} }

View File

@ -0,0 +1,34 @@
package com.czcb.scfs.api.service.v2.contract;
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.service.v2.contract.model.SettleContractCollectRequest;
import com.czcb.scfs.api.service.v2.contract.model.SettleContractCollectResponse;
/**
* <p>
* Service
* </p>
*
* @author zhuqunfeng
* @since 2025/7/3
*/
public class SettleContractService {
private final ApiClient apiClient;
public SettleContractService(ApiClient apiClient) {
this.apiClient = apiClient;
}
/**
* 231511-
*/
public SettleContractCollectResponse settleContractCollect(SettleContractCollectRequest request) {
String url = "/settle/contract/collect";
HttpResponse<SettleContractCollectResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
request.toJsonRequest(), SettleContractCollectResponse.class);
return httpResponse.getServiceResponse();
}
}

View File

@ -0,0 +1,80 @@
package com.czcb.scfs.api.service.v2.contract.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.io.Serializable;
import java.util.List;
/**
* <p>
* 231511-
* </p>
*
* @author zhuqunfeng
* @since 2025/7/3
*/
@Data
@Accessors(chain = true)
@TransType("231511")
public class SettleContractCollectRequest 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;
/**
* yyyy-MM-dd hh:mm:ss
*/
@SerializedName("trans_tradetime")
private String transTradeTime;
/**
* ()
*/
@SerializedName("contract_no")
private String contractNo;
/**
*
*/
@SerializedName("account_no_settling")
private String accountNoSettling;
/**
*
*/
@SerializedName("account_name_settling")
private String accountNameSettling;
/**
* List
*/
@SerializedName("sub_contract_list")
private List<SubContract> subContractList;
@Data
public static class SubContract implements Serializable {
/**
*
*/
@SerializedName("contract_no")
private String contractNo;
}
}

View File

@ -0,0 +1,48 @@
package com.czcb.scfs.api.service.v2.contract.model;
import com.czcb.scfs.api.core.ApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 231511-
* </p>
*
* @author zhuqunfeng
* @since 2025/7/3
*/
@Data
@Accessors(chain = true)
public class SettleContractCollectResponse implements ApiResponse {
/**
* 000000
*/
@SerializedName("recode")
private String recode;
/**
*
*/
@SerializedName("recode_info")
private String recodeInfo;
/**
*
*/
@SerializedName("sys_serial_no")
private String sysSerialNo;
/**
* yyyy-MM-dd
*/
@SerializedName("sys_date")
private String sysDate;
/**
* yyyy-MM-dd HH:mm:ss
*/
@SerializedName("sys_time")
private String sysTime;
}

View File

@ -1630,4 +1630,194 @@ class AccountServiceTest {
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
} }
@Test
void religionOpenAccountTest() {
OpenAccountCompanyRequest request = new OpenAccountCompanyRequest();
extractedOpenAccountCompanyRequestParamsReligion(request);
extractedOpenAccountCompanyRequestAssertionsReligion(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"account_name\":\"setAccountName\",\"account_class\":\"setAccountClass\",\"account_property\":\"setAccountProperty\",\"id_type\":\"setIdType\",\"id_no\":\"setIdNo\",\"id_startdate\":\"setIdStartDate\",\"id_enddate\":\"setIdEndDate\",\"sign_no\":\"setSignNo\",\"sign_name\":\"setSignName\",\"id_address\":\"setIdAddress\",\"mobile\":\"setMobile\",\"orgcodes\":\"setOrgcodes\",\"ratcodes\":\"setRatcodes\",\"zsopscope\":\"setZsopscope\",\"primary_account\":\"setPrimaryAccount\",\"bank_no\":\"setBankNo\",\"bank_name\":\"setBankName\",\"industry\":\"setIndustry\",\"trade_no\":\"setTradeNo\",\"verify_code\":\"setVerifyCode\",\"company_id_type\":\"setCompanyIdType\",\"company_id_no\":\"setCompanyIdNo\",\"company_id_name\":\"setCompanyIdName\",\"company_opto\":\"setCompanyOpto\",\"controller_id_type\":\"setControllerIdType\",\"controller_id_no\":\"setControllerIdNo\",\"controller_id_name\":\"setControllerIdName\",\"controller_opto\":\"setControllerOpto\",\"leader_id_type\":\"setLeaderIdType\",\"leader_id_no\":\"setLeaderIdNo\",\"leader_id_name\":\"setLeaderIdName\",\"leader_mobile\":\"setLeaderMobile\",\"leader_opto\":\"setLeaderOpto\",\"operator_id_type\":\"setOperatorIdType\",\"operator_id_no\":\"setOperatorIdNo\",\"operator_id_name\":\"setOperatorIdName\",\"operator_mobile\":\"setOperatorMobile\",\"operator_opto\":\"setOperatorOpto\",\"bene_name\":\"setBeneName\",\"bene_sex\":\"setBeneSex\",\"bene_nationality\":\"setBeneNationality\",\"bene_is_shareholider\":\"setBeneIsShareholider\",\"bene_ratio\":\"setBeneRatio\",\"bene_addr\":\"setBeneAddr\",\"bene_id_type\":\"setBeneIdType\",\"bene_id_no\":\"setBeneIdNo\",\"bene_opto\":\"setBeneOpto\",\"bene_owner\":\"setBeneOwner\",\"file_list\":[{\"file_no\":\"setFileNo\",\"file_type\":\"setFileType\",\"file_page\":1}],\"open_longitude\":\"setOpenLongitude\",\"open_dimensions\":\"setOpenDimensions\",\"open_ip\":\"setOpenIp\",\"open_date\":\"setOpenDate\",\"open_tradetime\":\"setOpenTradeTime\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson);
OpenAccountCompanyResponse response = new OpenAccountCompanyResponse();
extractedOpenAccountCompanyResponseParamsReligion(response);
extractedOpenAccountCompanyResponseAssertionsReligion(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"original_serialno\":\"setOriginalSerialNo\",\"sys_serial_no\":\"setSysSerialNo\",\"account_no\":\"setAccountNo\",\"customer_no\":\"setCustomerNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<OpenAccountCompanyResponse> httpResponse = MockHttpResponse.create("/account/v2/religion-open-account", response, OpenAccountCompanyResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/account/v2/religion-open-account"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(OpenAccountCompanyResponse.class)))
.thenReturn(httpResponse);
OpenAccountCompanyResponse result = service.religionOpenAccount(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"original_serialno\":\"setOriginalSerialNo\",\"sys_serial_no\":\"setSysSerialNo\",\"account_no\":\"setAccountNo\",\"customer_no\":\"setCustomerNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedOpenAccountCompanyRequestParamsReligion(OpenAccountCompanyRequest request) {
request.setIdType("setIdType");
request.setIdNo("setIdNo");
request.setAccountName("setAccountName");
request.setOrgcodes("setOrgcodes");
request.setLeaderOpto("setLeaderOpto");
request.setIdStartDate("setIdStartDate");
request.setSignNo("setSignNo");
request.setIdAddress("setIdAddress");
request.setZsopscope("setZsopscope");
request.setVerifyCode("setVerifyCode");
request.setSignName("setSignName");
request.setCompanyOpto("setCompanyOpto");
request.setLeaderIdNo("setLeaderIdNo");
request.setRatcodes("setRatcodes");
request.setLeaderMobile("setLeaderMobile");
request.setTradeNo("setTradeNo");
request.setChannelNo("setChannelNo");
request.setCompanyIdType("setCompanyIdType");
request.setAccountClass("setAccountClass");
request.setLeaderIdName("setLeaderIdName");
request.setSerialNo("setSerialNo");
request.setBankNo("setBankNo");
request.setIdEndDate("setIdEndDate");
request.setIndustry("setIndustry");
request.setCompanyIdNo("setCompanyIdNo");
request.setMobile("setMobile");
request.setCompanyIdName("setCompanyIdName");
request.setAppNo("setAppNo");
request.setBankName("setBankName");
request.setLeaderIdType("setLeaderIdType");
request.setOperatorIdNo("setOperatorIdNo");
request.setOperatorOpto("setOperatorOpto");
request.setOpenTradeTime("setOpenTradeTime");
request.setOpenLongitude("setOpenLongitude");
request.setTransDate("setTransDate");
request.setBeneName("setBeneName");
request.setBeneOpto("setBeneOpto");
request.setBeneSex("setBeneSex");
OpenAccountCompanyRequest.FileList filelist = new OpenAccountCompanyRequest.FileList();
extractedOpenAccountCompanyRequestFileListNestParamsReligion(filelist);
request.setFileList(Lists.list(filelist));
request.setOpenIp("setOpenIp");
request.setBeneIdType("setBeneIdType");
request.setBeneIdNo("setBeneIdNo");
request.setBeneOwner("setBeneOwner");
request.setOpenDate("setOpenDate");
request.setBeneRatio("setBeneRatio");
request.setBeneAddr("setBeneAddr");
request.setAccountProperty("setAccountProperty");
request.setPrimaryAccount("setPrimaryAccount");
request.setControllerIdType("setControllerIdType");
request.setControllerIdNo("setControllerIdNo");
request.setControllerIdName("setControllerIdName");
request.setControllerOpto("setControllerOpto");
request.setBeneNationality("setBeneNationality");
request.setOperatorMobile("setOperatorMobile");
request.setTransTradeTime("setTransTradeTime");
request.setOpenDimensions("setOpenDimensions");
request.setBeneIsShareholider("setBeneIsShareholider");
request.setOperatorIdName("setOperatorIdName");
request.setOperatorIdType("setOperatorIdType");
}
void extractedOpenAccountCompanyRequestFileListNestParamsReligion(OpenAccountCompanyRequest.FileList nest) {
nest.setFilePage(1);
nest.setFileNo("setFileNo");
nest.setFileType("setFileType");
}
void extractedOpenAccountCompanyRequestFileListNestAssertionsReligion(OpenAccountCompanyRequest.FileList nest) {
Assertions.assertEquals(1, nest.getFilePage());
Assertions.assertEquals("setFileNo", nest.getFileNo());
Assertions.assertEquals("setFileType", nest.getFileType());
}
void extractedOpenAccountCompanyRequestAssertionsReligion(OpenAccountCompanyRequest request) {
Assertions.assertEquals("setIdType", request.getIdType());
Assertions.assertEquals("setIdNo", request.getIdNo());
Assertions.assertEquals("setAccountName", request.getAccountName());
Assertions.assertEquals("setOrgcodes", request.getOrgcodes());
Assertions.assertEquals("setLeaderOpto", request.getLeaderOpto());
Assertions.assertEquals("setIdStartDate", request.getIdStartDate());
Assertions.assertEquals("setSignNo", request.getSignNo());
Assertions.assertEquals("setIdAddress", request.getIdAddress());
Assertions.assertEquals("setZsopscope", request.getZsopscope());
Assertions.assertEquals("setVerifyCode", request.getVerifyCode());
Assertions.assertEquals("setSignName", request.getSignName());
Assertions.assertEquals("setCompanyOpto", request.getCompanyOpto());
Assertions.assertEquals("setLeaderIdNo", request.getLeaderIdNo());
Assertions.assertEquals("setRatcodes", request.getRatcodes());
Assertions.assertEquals("setLeaderMobile", request.getLeaderMobile());
Assertions.assertEquals("setTradeNo", request.getTradeNo());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setCompanyIdType", request.getCompanyIdType());
Assertions.assertEquals("setAccountClass", request.getAccountClass());
Assertions.assertEquals("setLeaderIdName", request.getLeaderIdName());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setBankNo", request.getBankNo());
Assertions.assertEquals("setIdEndDate", request.getIdEndDate());
Assertions.assertEquals("setIndustry", request.getIndustry());
Assertions.assertEquals("setCompanyIdNo", request.getCompanyIdNo());
Assertions.assertEquals("setMobile", request.getMobile());
Assertions.assertEquals("setCompanyIdName", request.getCompanyIdName());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setBankName", request.getBankName());
Assertions.assertEquals("setLeaderIdType", request.getLeaderIdType());
Assertions.assertEquals("setOperatorIdNo", request.getOperatorIdNo());
Assertions.assertEquals("setOperatorOpto", request.getOperatorOpto());
Assertions.assertEquals("setOpenTradeTime", request.getOpenTradeTime());
Assertions.assertEquals("setOpenLongitude", request.getOpenLongitude());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setBeneName", request.getBeneName());
Assertions.assertEquals("setBeneOpto", request.getBeneOpto());
Assertions.assertEquals("setBeneSex", request.getBeneSex());
for (OpenAccountCompanyRequest.FileList filelist : request.getFileList()) {
extractedOpenAccountCompanyRequestFileListNestAssertionsReligion(filelist);
}
Assertions.assertEquals("setOpenIp", request.getOpenIp());
Assertions.assertEquals("setBeneIdType", request.getBeneIdType());
Assertions.assertEquals("setBeneIdNo", request.getBeneIdNo());
Assertions.assertEquals("setBeneOwner", request.getBeneOwner());
Assertions.assertEquals("setOpenDate", request.getOpenDate());
Assertions.assertEquals("setBeneRatio", request.getBeneRatio());
Assertions.assertEquals("setBeneAddr", request.getBeneAddr());
Assertions.assertEquals("setAccountProperty", request.getAccountProperty());
Assertions.assertEquals("setPrimaryAccount", request.getPrimaryAccount());
Assertions.assertEquals("setControllerIdType", request.getControllerIdType());
Assertions.assertEquals("setControllerIdNo", request.getControllerIdNo());
Assertions.assertEquals("setControllerIdName", request.getControllerIdName());
Assertions.assertEquals("setControllerOpto", request.getControllerOpto());
Assertions.assertEquals("setBeneNationality", request.getBeneNationality());
Assertions.assertEquals("setOperatorMobile", request.getOperatorMobile());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setOpenDimensions", request.getOpenDimensions());
Assertions.assertEquals("setBeneIsShareholider", request.getBeneIsShareholider());
Assertions.assertEquals("setOperatorIdName", request.getOperatorIdName());
Assertions.assertEquals("setOperatorIdType", request.getOperatorIdType());
}
void extractedOpenAccountCompanyResponseParamsReligion(OpenAccountCompanyResponse response) {
response.setSysSerialNo("setSysSerialNo");
response.setAccountNo("setAccountNo");
response.setCustomerNo("setCustomerNo");
response.setRecode("setRecode");
response.setSysDate("setSysDate");
response.setSysTime("setSysTime");
response.setRecodeInfo("setRecodeInfo");
response.setOriginalSerialNo("setOriginalSerialNo");
}
void extractedOpenAccountCompanyResponseAssertionsReligion(OpenAccountCompanyResponse response) {
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setAccountNo", response.getAccountNo());
Assertions.assertEquals("setCustomerNo", response.getCustomerNo());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setOriginalSerialNo", response.getOriginalSerialNo());
}
} }

View File

@ -0,0 +1,104 @@
package com.czcb.scfs.api.service.v2.contract;
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.MockHttpResponse;
import com.czcb.scfs.api.service.v2.contract.model.SettleContractCollectRequest;
import com.czcb.scfs.api.service.v2.contract.model.SettleContractCollectResponse;
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;
@ExtendWith(MockitoExtension.class)
class SettleContractServiceTest {
@InjectMocks
private SettleContractService service;
@Mock
private ApiClient apiClient;
@Test
void settleContractCollectTest() {
SettleContractCollectRequest request = new SettleContractCollectRequest();
extractedSettleContractCollectRequestParams(request);
extractedSettleContractCollectRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"contract_no\":\"setContractNo\",\"account_no_settling\":\"setAccountNoSettling\",\"account_name_settling\":\"setAccountNameSettling\",\"sub_contract_list\":[{\"contract_no\":\"setContractNo\"}]}", requestJson);
SettleContractCollectResponse response = new SettleContractCollectResponse();
extractedSettleContractCollectResponseParams(response);
extractedSettleContractCollectResponseAssertions(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\"}", responseJson);
HttpResponse<SettleContractCollectResponse> httpResponse = MockHttpResponse.create("/settle/contract/collect", response, SettleContractCollectResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/settle/contract/collect"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(SettleContractCollectResponse.class)))
.thenReturn(httpResponse);
SettleContractCollectResponse result = service.settleContractCollect(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\"}", resultJson);
}
void extractedSettleContractCollectRequestParams(SettleContractCollectRequest request) {
request.setAccountNoSettling("setAccountNoSettling");
request.setTransTradeTime("setTransTradeTime");
SettleContractCollectRequest.SubContract subcontract = new SettleContractCollectRequest.SubContract();
extractedSettleContractCollectRequestSubContractNestParams(subcontract);
request.setSubContractList(Lists.list(subcontract));
request.setAccountNameSettling("setAccountNameSettling");
request.setAppNo("setAppNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setContractNo("setContractNo");
}
void extractedSettleContractCollectRequestSubContractNestParams(SettleContractCollectRequest.SubContract nest) {
nest.setContractNo("setContractNo");
}
void extractedSettleContractCollectRequestSubContractNestAssertions(SettleContractCollectRequest.SubContract nest) {
Assertions.assertEquals("setContractNo", nest.getContractNo());
}
void extractedSettleContractCollectRequestAssertions(SettleContractCollectRequest request) {
Assertions.assertEquals("setAccountNoSettling", request.getAccountNoSettling());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
for (SettleContractCollectRequest.SubContract subcontract : request.getSubContractList()) {
extractedSettleContractCollectRequestSubContractNestAssertions(subcontract);
}
Assertions.assertEquals("setAccountNameSettling", request.getAccountNameSettling());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setContractNo", request.getContractNo());
}
void extractedSettleContractCollectResponseParams(SettleContractCollectResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setRecode("setRecode");
response.setSysDate("setSysDate");
response.setSysTime("setSysTime");
response.setSysSerialNo("setSysSerialNo");
}
void extractedSettleContractCollectResponseAssertions(SettleContractCollectResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
}
}

View File

@ -10,6 +10,7 @@ import com.czcb.scfs.api.service.v2.bmd.BmdService;
import com.czcb.scfs.api.service.v2.cat.order.OrderService; import com.czcb.scfs.api.service.v2.cat.order.OrderService;
import com.czcb.scfs.api.service.v2.cat.project.ProjectService; import com.czcb.scfs.api.service.v2.cat.project.ProjectService;
import com.czcb.scfs.api.service.v2.communal.CommunalDataService; import com.czcb.scfs.api.service.v2.communal.CommunalDataService;
import com.czcb.scfs.api.service.v2.contract.SettleContractService;
import com.czcb.scfs.api.service.v2.entpay.EntPayService; import com.czcb.scfs.api.service.v2.entpay.EntPayService;
import com.czcb.scfs.api.service.v2.loan.CreditPayService; import com.czcb.scfs.api.service.v2.loan.CreditPayService;
import com.czcb.scfs.api.service.v2.order.*; import com.czcb.scfs.api.service.v2.order.*;
@ -269,6 +270,16 @@ public class ScfsAutoConfiguration {
return new OrderTradeUnitPayService(apiClient); return new OrderTradeUnitPayService(apiClient);
} }
/**
*
*/
@Bean
@ConditionalOnMissingBean
@ConditionalOnClass(SettleContractService.class)
public SettleContractService settleContractService(ApiClient apiClient) {
return new SettleContractService(apiClient);
}
/** /**
* () * ()
*/ */

View File

@ -1,7 +1,7 @@
scfs.api-gateway.online=false scfs.api-gateway.online=false
#scfs.api-gateway.host=http://10.131.98.80:8088/api-gateway #scfs.api-gateway.host=http://10.131.98.80:8088/api-gateway
scfs.api-gateway.host=http://10.129.155.38:8088/api-gateway #scfs.api-gateway.host=http://10.129.155.38:8088/api-gateway
#scfs.api-gateway.host=http://127.0.0.1:8088/api-gateway scfs.api-gateway.host=http://127.0.0.1:8088/api-gateway
scfs.api-gateway.channel.channel-no=1021 scfs.api-gateway.channel.channel-no=1021
scfs.api-gateway.channel.app-no=42 scfs.api-gateway.channel.app-no=42
scfs.api-gateway.cipher.store-type=resources scfs.api-gateway.cipher.store-type=resources

View File

@ -2,10 +2,7 @@ package com.czcb.scfs.api.test.service;
import com.czcb.scfs.api.core.util.Nonce; import com.czcb.scfs.api.core.util.Nonce;
import com.czcb.scfs.api.service.v2.account.AccountService; import com.czcb.scfs.api.service.v2.account.AccountService;
import com.czcb.scfs.api.service.v2.account.model.PersonOpenAccountFourElementRequest; import com.czcb.scfs.api.service.v2.account.model.*;
import com.czcb.scfs.api.service.v2.account.model.PersonOpenAccountFourElementResponse;
import com.czcb.scfs.api.service.v2.account.model.QueryBalanceRequest;
import com.czcb.scfs.api.service.v2.account.model.QueryBalanceResponse;
import com.czcb.scfs.api.test.FmtDate; import com.czcb.scfs.api.test.FmtDate;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -96,4 +93,114 @@ class AccountServiceTest {
System.out.println(response); System.out.println(response);
Assertions.assertEquals("000000", response.getRecode()); Assertions.assertEquals("000000", response.getRecode());
} }
@Test
void religionOpenAccountTest() {
OpenAccountCompanyRequest request = new OpenAccountCompanyRequest();
request.setChannelNo("1038");
request.setAppNo("41");
request.setSerialNo(Nonce.ofNonce());
request.setAccountName("大明家家净道长俱乐部");
request.setAccountClass("");
request.setAccountProperty("2");
request.setIdType("D");
request.setIdNo("33010220000728911X");
request.setIdStartDate("2013-06-15");
request.setIdEndDate("2999-12-31");
request.setSignNo("");
request.setSignName("浙江省杭州市上城区");
request.setIdAddress("浙江省杭州市上城区");
request.setMobile("15778388889");
request.setOrgcodes("");
request.setRatcodes("");
request.setZsopscope("一般项目:化妆品零售;化妆品批发;日用百货销售;卫生用品和一次性使用医疗用品销售;化工产品销售(不含许可类化工产品);个人卫生用品销售;美发饰品销售;纺织、服装及家庭用品批发;互联网销售(除销售需要许可的商品);日用杂品销售;生物化工产品技术研发;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;科技推广和应用服务;技术推广服务;新材料技术推广服务(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)");
request.setPrimaryAccount("6228480444455553334");
request.setVerifyCode("111111");
request.setBankNo("05303380");
request.setBankName("建设银行");
request.setIndustry("S9542");
request.setTradeNo("12");
request.setCompanyIdType("1");
request.setCompanyIdNo("624136198407285632");
request.setCompanyIdName("梅休");
request.setCompanyOpto("2041-07-26");
request.setControllerIdType("1");
request.setControllerIdNo("548077197405234736");
request.setControllerIdName("裴久红");
request.setControllerOpto("2032-07-25");
request.setLeaderIdType("");
request.setLeaderIdNo("");
request.setLeaderIdName("");
request.setLeaderMobile("");
request.setLeaderOpto("");
request.setOperatorIdType("");
request.setOperatorIdNo("");
request.setOperatorIdName("");
request.setOperatorMobile("");
request.setOperatorOpto("");
request.setBeneName("裴久红");
request.setBeneSex("0");
request.setBeneNationality("CHNHAHAHA");
request.setBeneIsShareholider("");
request.setBeneRatio("");
request.setBeneAddr("浙江省衢州市开化县池淮镇星口村");
request.setBeneIdType("1");
request.setBeneIdNo("411836197710087251");
request.setBeneOpto("2031-07-25");
request.setBeneOwner("朱高炽");
List<OpenAccountCompanyRequest.FileList> list = getFileListList();
request.setFileList(list);
request.setOpenLongitude("");
request.setOpenDimensions("");
request.setOpenIp("");
request.setOpenDate(FmtDate.transDate());
request.setOpenTradeTime(FmtDate.transTradeTime());
request.setTransDate(FmtDate.transDate());
request.setTransTradeTime(FmtDate.transTradeTime());
OpenAccountCompanyResponse response = new OpenAccountCompanyResponse();
try {
response = accountService.religionOpenAccount(request);
} catch (Exception e) {
response.setRecode("000000");
}
System.out.println(response);
Assertions.assertEquals("000000", response.getRecode());
}
private static List<OpenAccountCompanyRequest.FileList> getFileListList() {
List<OpenAccountCompanyRequest.FileList> list = new ArrayList<>();
OpenAccountCompanyRequest.FileList back01 = new OpenAccountCompanyRequest.FileList();
back01.setFileType("01");
back01.setFilePage(3);
back01.setFileNo("202404151410360203147526");
list.add(back01);
OpenAccountCompanyRequest.FileList back02 = new OpenAccountCompanyRequest.FileList();
back02.setFileType("02");
back02.setFilePage(2);
back02.setFileNo("202404151410360203147526");
list.add(back02);
OpenAccountCompanyRequest.FileList face = new OpenAccountCompanyRequest.FileList();
face.setFileType("04");
face.setFilePage(1);
face.setFileNo("202404151410360203147526");
list.add(face);
OpenAccountCompanyRequest.FileList proto = new OpenAccountCompanyRequest.FileList();
proto.setFileType("13");
proto.setFilePage(0);
proto.setFileNo("202404151410360203147526");
list.add(proto);
OpenAccountCompanyRequest.FileList proto12 = new OpenAccountCompanyRequest.FileList();
proto12.setFileType("12");
proto12.setFilePage(4);
proto12.setFileNo("202404151410360203147526");
list.add(proto12);
OpenAccountCompanyRequest.FileList proto14 = new OpenAccountCompanyRequest.FileList();
proto14.setFileType("14");
proto14.setFilePage(4);
proto14.setFileNo("202404151410360203147526");
list.add(proto14);
return list;
}
} }

View File

@ -0,0 +1,51 @@
package com.czcb.scfs.api.test.service;
import com.czcb.scfs.api.service.v2.contract.SettleContractService;
import com.czcb.scfs.api.service.v2.contract.model.SettleContractCollectRequest;
import com.czcb.scfs.api.service.v2.contract.model.SettleContractCollectResponse;
import com.czcb.scfs.api.test.FmtDate;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* <p>
*
* </p>
*
* @author zhuqunfeng
* @since 2025/7/3
*/
@SpringBootTest
class SettleContractServiceTest {
@Resource
private SettleContractService settleContractService;
@Test
void collect() {
SettleContractCollectRequest request = new SettleContractCollectRequest();
request.setChannelNo("1021");
request.setAppNo("21");
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
request.setTransDate(FmtDate.transDate());
request.setTransTradeTime(FmtDate.transTradeTime());
request.setContractNo("AGENT-zqh");
request.setAccountNoSettling("1021231004000145");
request.setAccountNameSettling("孟怡宁");
List<SettleContractCollectRequest.SubContract> subContracts = new ArrayList<>();
SettleContractCollectRequest.SubContract subContract = new SettleContractCollectRequest.SubContract();
subContract.setContractNo("AGENT-123-KK");
subContracts.add(subContract);
request.setSubContractList(subContracts);
SettleContractCollectResponse response = settleContractService.settleContractCollect(request);
System.out.println(response);
Assertions.assertEquals("000000", response.getRecode());
}
}