Merge remote-tracking branch 'origin/dev' into dev
commit
d0b197be68
|
|
@ -240,4 +240,18 @@ public class AccountService {
|
|||
HttpResponse<AccountChangeMobileResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), AccountChangeMobileResponse.class);
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -1630,4 +1630,194 @@ class AccountServiceTest {
|
|||
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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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.project.ProjectService;
|
||||
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.loan.CreditPayService;
|
||||
import com.czcb.scfs.api.service.v2.order.*;
|
||||
|
|
@ -269,6 +270,16 @@ public class ScfsAutoConfiguration {
|
|||
return new OrderTradeUnitPayService(apiClient);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清分协议相关
|
||||
*/
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
@ConditionalOnClass(SettleContractService.class)
|
||||
public SettleContractService settleContractService(ApiClient apiClient) {
|
||||
return new SettleContractService(apiClient);
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单(国业)管理
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
scfs.api-gateway.online=false
|
||||
#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://127.0.0.1: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.channel.channel-no=1021
|
||||
scfs.api-gateway.channel.app-no=42
|
||||
scfs.api-gateway.cipher.store-type=resources
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@ package com.czcb.scfs.api.test.service;
|
|||
|
||||
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.model.PersonOpenAccountFourElementRequest;
|
||||
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.service.v2.account.model.*;
|
||||
import com.czcb.scfs.api.test.FmtDate;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
|
@ -96,4 +93,114 @@ class AccountServiceTest {
|
|||
System.out.println(response);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue