diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/GyOrderService.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/GyOrderService.java new file mode 100644 index 0000000..5b42e5b --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/GyOrderService.java @@ -0,0 +1,94 @@ +package com.czcb.scfs.api.service.v2.order; + +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.order.model.*; + +import static com.czcb.scfs.api.core.Constants.API_VERSION; +import static com.czcb.scfs.api.core.Constants.V_2; + +/** + * 订单(国业)管理 + * + * @author H.T + * @since 2025-06-04 + */ +public class GyOrderService { + + private final ApiClient apiClient; + + public GyOrderService(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * 302107-订单登记(国业) + * + * @author H.T + * @since 2025/6/4 + */ + public GyBaseResponse add(GyOrderInfoAddRequest request) { + String url = "/gy/order/add"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), GyBaseResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 302108-订单分页查询(国业) + * + * @author H.T + * @since 2025/6/4 + */ + public GyOrderInfoQueryPageResponse queryPage(GyOrderInfoQueryPageRequest request) { + String url = "/gy/order/query-page"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), GyOrderInfoQueryPageResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 302109-订单作废(国业) + * + * @author H.T + * @since 2025/6/4 + */ + public GyBaseResponse invalid(GyOrderInvalidRequest request) { + String url = "/gy/order/invalid"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), GyBaseResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 302110-订单融资(国业) + * + * @author H.T + * @since 2025/6/4 + */ + public GyOrderLoanResponse loan(GyOrderLoanRequest request) { + String url = "/gy/order/loan"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), GyOrderLoanResponse.class); + return httpResponse.getServiceResponse(); + } + + /** + * 302111-订单结算并还款(国业) + * + * @author H.T + * @since 2025/6/4 + */ + public GyBaseResponse settleRepay(GyOrderSettleRepayRequest request) { + String url = "/gy/order/settle-repay"; + HttpHeaders headers = new HttpHeaders(); + headers.addHeader(API_VERSION, V_2); + HttpResponse httpResponse = apiClient.post(url, headers, request.toJsonRequest(), GyBaseResponse.class); + return httpResponse.getServiceResponse(); + } +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyBaseRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyBaseRequest.java new file mode 100644 index 0000000..d7c55a0 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyBaseRequest.java @@ -0,0 +1,42 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 订单(国业)管理基础请求参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +public class GyBaseRequest implements ApiRequest { + /** + * 渠道编号 + */ + @SerializedName("channel_no") + private String channelNo; + /** + * 应用编号 + */ + @SerializedName("app_no") + private String appNo; + /** + * 流水号 + */ + @SerializedName("serial_no") + private String serialNo; + /** + * 操作日期 + */ + @SerializedName("trans_date") + private String transDate; + /** + * 操作时间 + */ + @SerializedName("trans_tradetime") + private String transTradeTime; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyBaseResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyBaseResponse.java new file mode 100644 index 0000000..77f2f92 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyBaseResponse.java @@ -0,0 +1,42 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 订单(国业)管理基础应答参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +public class GyBaseResponse 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; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoAddRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoAddRequest.java new file mode 100644 index 0000000..e34d932 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoAddRequest.java @@ -0,0 +1,75 @@ +package com.czcb.scfs.api.service.v2.order.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.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 302107-订单登记(国业)请求参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@TransType("302107") +public class GyOrderInfoAddRequest extends GyBaseRequest implements ApiRequest { + /** + * 订单编号 + */ + @SerializedName("order_no") + private String orderNo; + /** + * 订单类型:9-采购订单 + */ + @SerializedName("order_type") + private String orderType; + /** + * 下单时间 + */ + @SerializedName("order_time") + private String orderTime; + /** + * 订单金额 + */ + @SerializedName("order_amount") + private BigDecimal orderAmount; + /** + * 订单剩余待结算金额 + */ + @SerializedName("unsettled_amount") + private BigDecimal unsettledAmount; + /** + * 付款账号(合道A1) + */ + @SerializedName("account_no") + private String accountNo; + /** + * 付款户名(合道A1) + */ + @SerializedName("account_name") + private String accountName; + /** + * 收款账号(供应商A1) + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + /** + * 收款户名(供应商A1) + */ + @SerializedName("opp_account_name") + private String oppAccountName; + /** + * 摘要 + */ + @SerializedName("remark") + private String remark; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoQueryPageRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoQueryPageRequest.java new file mode 100644 index 0000000..48b85d4 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoQueryPageRequest.java @@ -0,0 +1,98 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.PageApiRequest; +import com.czcb.scfs.api.core.agrs.TransType; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +/** + * 302108-订单分页查询(国业)请求参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@TransType("302108") +public class GyOrderInfoQueryPageRequest extends GyBaseRequest implements PageApiRequest { + /** + * 当前页数 + */ + @SerializedName("current_page") + private Long currentPage; + /** + * 每页行数 + */ + @SerializedName("current_rows") + private Long currentRows; + /** + * 请求流水号 + */ + @SerializedName("req_serial_no") + private String reqSerialNo; + /** + * 系统流水号 + */ + @SerializedName("sys_serial_no") + private String sysSerialNo; + /** + * 订单编号 + */ + @SerializedName("order_no") + private String orderNo; + /** + * 订单类型 + */ + @SerializedName("order_type") + private String orderType; + /** + * 订单状态: 0-正常;1-完结;2-作废 + */ + @SerializedName("order_status") + private String orderStatus; + /** + * 订单时间-开始 + */ + @SerializedName("order_time_start") + private String orderTimeStart; + /** + * 订单时间-截至 + */ + @SerializedName("order_time_end") + private String orderTimeEnd; + /** + * 订单融资状态:0-未融资;1-已融资 + */ + @SerializedName("order_loan_status") + private String orderLoanStatus; + /** + * 订单撤销(作废)流水号 + */ + @SerializedName("cancel_serial_no") + private String cancelSerialNo; + /** + * 付款账号A1 + */ + @SerializedName("account_no") + private String accountNo; + /** + * 收款账号A1 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + /** + * 清算流水号 + */ + @SerializedName("settle_serial_no") + private String settleSerialNo; + /** + * 清算状态:0、未清算 1、已清算 2、部分清算 + */ + @SerializedName("settle_status") + private String settleStatus; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoQueryPageResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoQueryPageResponse.java new file mode 100644 index 0000000..61206f9 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInfoQueryPageResponse.java @@ -0,0 +1,183 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.PageApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 302108-订单分页查询(国业)响应参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class GyOrderInfoQueryPageResponse extends GyBaseResponse implements PageApiResponse { + /** + * 当前页码 + */ + @SerializedName("current_page") + private Long currentPage; + /** + * 总页数 + */ + @SerializedName("total_page") + private Long totalPage; + /** + * 总条数 + */ + @SerializedName("total_rows") + private Long totalRows; + + @SerializedName("data") + private List data; + + @Data + public static class GyOrderInfoQueryPageData implements Serializable { + /** + * 请求流水号 + */ + @SerializedName("req_serial_no") + private String reqSerialNo; + /** + * 系统流水号 + */ + @SerializedName("sys_serial_no") + private String sysSerialNo; + /** + * 订单编号 + */ + @SerializedName("order_no") + private String orderNo; + /** + * 订单类型 + */ + @SerializedName("order_type") + private String orderType; + /** + * 订单状态: 0-正常;1-完结;2-作废 + */ + @SerializedName("order_status") + private String orderStatus; + /** + * 下单时间 + */ + @SerializedName("order_time") + private Date orderTime; + /** + * 订单金额 + */ + @SerializedName("order_amount") + private BigDecimal orderAmount; + /** + * 订单剩余待结算金额 + */ + @SerializedName("unsettled_amount") + private BigDecimal unsettledAmount; + /** + * 付款账号 + */ + @SerializedName("account_no") + private String accountNo; + /** + * 付款户名 + */ + @SerializedName("account_name") + private String accountName; + /** + * 收款账号 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + /** + * 收款户名 + */ + @SerializedName("opp_account_name") + private String oppAccountName; + /** + * 贷款申请人账号 + */ + @SerializedName("apply_account_no") + private String applyAccountNo; + /** + * 贷款申请人户名 + */ + @SerializedName("apply_account_name") + private String applyAccountName; + /** + * 贷款账号(借据编号) + */ + @SerializedName("loan_acc_no") + private String loanAccNo; + /** + * 贷款账号序号 + */ + @SerializedName("loan_acc_seq_no") + private String loanAccSeqNo; + /** + * 贷款合同编号 + */ + @SerializedName("contract_no") + private String contractNo; + /** + * 放款金额:为实际放款金额,等于=提款金额*放款比例 + */ + @SerializedName("loan_amount") + private BigDecimal loanAmount; + /** + * 放款比例 + */ + @SerializedName("loan_ratio") + private BigDecimal loanRatio; + /** + * 借据到期日期 + */ + @SerializedName("loan_deal_end_date") + private Date loanDealEndDate; + /** + * 订单融资状态:0-未融资;1-已融资 + */ + @SerializedName("order_loan_status") + private String orderLoanStatus; + /** + * 订单撤销(作废)流水号 + */ + @SerializedName("cancel_serial_no") + private String cancelSerialNo; + /** + * 订单撤销(作废)时间 + */ + @SerializedName("cancel_time") + private Date cancelTime; + /** + * 清算流水号 + */ + @SerializedName("settle_serial_no") + private String settleSerialNo; + /** + * 清算状态:0、未清算 1、已清算 2、部分清算 + */ + @SerializedName("settle_status") + private String settleStatus; + /** + * 清算时间 + */ + @SerializedName("settle_time") + private Date settleTime; + /** + * 摘要 + */ + @SerializedName("remark") + private String remark; + } +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInvalidRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInvalidRequest.java new file mode 100644 index 0000000..0c8f293 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderInvalidRequest.java @@ -0,0 +1,35 @@ +package com.czcb.scfs.api.service.v2.order.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.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 302109-订单作废(国业)请求参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@TransType("302109") +public class GyOrderInvalidRequest extends GyBaseRequest implements ApiRequest { + /** + * 订单编号 + */ + @SerializedName("order_no_list") + private List orderNoList; + /** + * 是否作废 1-作废 0:有效 + */ + @SerializedName("invalid") + private String invalid; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderLoanRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderLoanRequest.java new file mode 100644 index 0000000..4af5558 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderLoanRequest.java @@ -0,0 +1,66 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.ApiRequest; +import com.czcb.scfs.api.core.agrs.TransType; +import com.czcb.scfs.api.service.v2.file.model.FileMaterial; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 302110-订单融资(国业)请求参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@TransType("302110") +public class GyOrderLoanRequest extends GyBaseRequest implements ApiRequest { + /** + * 贷款申请人账号A1 + */ + @SerializedName("apply_account_no") + private String applyAccountNo; + /** + * 贷款申请人户名 + */ + @SerializedName("apply_account_name") + private String applyAccountName; + /** + * 收款账号A1 + */ + @SerializedName("opp_account_no") + private String oppAccountNo; + /** + * 收款户名A1 + */ + @SerializedName("opp_account_name") + private String oppAccountName; + /** + * 借款期限 + */ + @SerializedName("period") + private String period; + /** + * 验证码 + */ + @SerializedName("verify_code") + private String verifyCode; + /** + * 订单编号 + */ + @SerializedName("order_no_list") + private List orderNoList; + /** + * 放款资料 + */ + @SerializedName("file_list") + private List fileList; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderLoanResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderLoanResponse.java new file mode 100644 index 0000000..8260276 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderLoanResponse.java @@ -0,0 +1,38 @@ +package com.czcb.scfs.api.service.v2.order.model; + +import com.czcb.scfs.api.core.ApiResponse; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 302110-订单融资(国业)响应参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@ToString(callSuper = true) +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +public class GyOrderLoanResponse extends GyBaseResponse implements ApiResponse { + /** + * 贷款账号(借据编号) + */ + @SerializedName("loan_acc_no") + private String loanAccNo; + /** + * 贷款账号序号 + */ + @SerializedName("loan_acc_seq_no") + private String loanAccSeqNo; + /** + * 放款金额 + */ + @SerializedName("loan_amount") + private BigDecimal loanAmount; +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderSettleRepayRequest.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderSettleRepayRequest.java new file mode 100644 index 0000000..5053600 --- /dev/null +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/order/model/GyOrderSettleRepayRequest.java @@ -0,0 +1,28 @@ +package com.czcb.scfs.api.service.v2.order.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.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +/** + * 302111-订单结算并还款(国业)请求参数 + * + * @author H.T + * @since 2025-06-04 + */ +@Data +@Accessors(chain = true) +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@TransType("302111") +public class GyOrderSettleRepayRequest extends GyBaseRequest implements ApiRequest { + /** + * 订单编号 + */ + @SerializedName("order_no") + private String orderNo; +} diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/order/GyOrderServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/order/GyOrderServiceTest.java new file mode 100644 index 0000000..c072079 --- /dev/null +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/order/GyOrderServiceTest.java @@ -0,0 +1,458 @@ +package com.czcb.scfs.api.service.v2.order; + +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.file.model.FileMaterial; +import com.czcb.scfs.api.service.v2.order.model.*; +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; + +import java.math.BigDecimal; + +@ExtendWith(MockitoExtension.class) +class GyOrderServiceTest { + + @InjectMocks + private GyOrderService service; + + @Mock + private ApiClient apiClient; + + @Test + void addTest() { + GyOrderInfoAddRequest request = new GyOrderInfoAddRequest(); + extractedGyOrderInfoAddRequestParams(request); + extractedGyOrderInfoAddRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"order_no\":\"setOrderNo\",\"order_type\":\"setOrderType\",\"order_time\":\"setOrderTime\",\"order_amount\":100.0,\"unsettled_amount\":100.0,\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"remark\":\"setRemark\",\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); + + GyBaseResponse response = new GyBaseResponse(); + extractedGyBaseResponseParams(response); + extractedGyBaseResponseAssertions(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 httpResponse = MockHttpResponse.create("/gy/order/add", response, GyBaseResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/gy/order/add"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(GyBaseResponse.class))) + .thenReturn(httpResponse); + + GyBaseResponse result = service.add(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 extractedGyOrderInfoAddRequestParams(GyOrderInfoAddRequest request) { + request.setUnsettledAmount(BigDecimal.valueOf(100.00)); + request.setOppAccountName("setOppAccountName"); + request.setOrderAmount(BigDecimal.valueOf(100.00)); + request.setOrderTime("setOrderTime"); + request.setAccountName("setAccountName"); + request.setOppAccountNo("setOppAccountNo"); + request.setAccountNo("setAccountNo"); + request.setRemark("setRemark"); + request.setOrderNo("setOrderNo"); + request.setOrderType("setOrderType"); + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setSerialNo("setSerialNo"); + request.setChannelNo("setChannelNo"); + request.setAppNo("setAppNo"); + } + void extractedGyOrderInfoAddRequestAssertions(GyOrderInfoAddRequest request) { + Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getUnsettledAmount()); + Assertions.assertEquals("setOppAccountName", request.getOppAccountName()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getOrderAmount()); + Assertions.assertEquals("setOrderTime", request.getOrderTime()); + Assertions.assertEquals("setAccountName", request.getAccountName()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setRemark", request.getRemark()); + Assertions.assertEquals("setOrderNo", request.getOrderNo()); + Assertions.assertEquals("setOrderType", request.getOrderType()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + } + void extractedGyBaseResponseParams(GyBaseResponse response) { + response.setRecodeInfo("setRecodeInfo"); + response.setSysDate("setSysDate"); + response.setSysSerialNo("setSysSerialNo"); + response.setRecode("setRecode"); + response.setSysTime("setSysTime"); + } + void extractedGyBaseResponseAssertions(GyBaseResponse response) { + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + } + + @Test + void queryPageTest() { + GyOrderInfoQueryPageRequest request = new GyOrderInfoQueryPageRequest(); + extractedGyOrderInfoQueryPageRequestParams(request); + extractedGyOrderInfoQueryPageRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"current_page\":1,\"current_rows\":1,\"req_serial_no\":\"setReqSerialNo\",\"sys_serial_no\":\"setSysSerialNo\",\"order_no\":\"setOrderNo\",\"order_type\":\"setOrderType\",\"order_status\":\"setOrderStatus\",\"order_time_start\":\"setOrderTimeStart\",\"order_time_end\":\"setOrderTimeEnd\",\"order_loan_status\":\"setOrderLoanStatus\",\"cancel_serial_no\":\"setCancelSerialNo\",\"account_no\":\"setAccountNo\",\"opp_account_no\":\"setOppAccountNo\",\"settle_serial_no\":\"setSettleSerialNo\",\"settle_status\":\"setSettleStatus\",\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); + + GyOrderInfoQueryPageResponse response = new GyOrderInfoQueryPageResponse(); + extractedGyOrderInfoQueryPageResponseParams(response); + extractedGyOrderInfoQueryPageResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"current_page\":1,\"total_page\":1,\"total_rows\":1,\"data\":[{\"req_serial_no\":\"setReqSerialNo\",\"sys_serial_no\":\"setSysSerialNo\",\"order_no\":\"setOrderNo\",\"order_type\":\"setOrderType\",\"order_status\":\"setOrderStatus\",\"order_amount\":100.0,\"unsettled_amount\":100.0,\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"loan_acc_no\":\"setLoanAccNo\",\"loan_acc_seq_no\":\"setLoanAccSeqNo\",\"contract_no\":\"setContractNo\",\"loan_amount\":100.0,\"loan_ratio\":100.0,\"order_loan_status\":\"setOrderLoanStatus\",\"cancel_serial_no\":\"setCancelSerialNo\",\"settle_serial_no\":\"setSettleSerialNo\",\"settle_status\":\"setSettleStatus\",\"remark\":\"setRemark\"}],\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = MockHttpResponse.create("/gy/order/query-page", response, GyOrderInfoQueryPageResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/gy/order/query-page"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(GyOrderInfoQueryPageResponse.class))) + .thenReturn(httpResponse); + + GyOrderInfoQueryPageResponse result = service.queryPage(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"current_page\":1,\"total_page\":1,\"total_rows\":1,\"data\":[{\"req_serial_no\":\"setReqSerialNo\",\"sys_serial_no\":\"setSysSerialNo\",\"order_no\":\"setOrderNo\",\"order_type\":\"setOrderType\",\"order_status\":\"setOrderStatus\",\"order_amount\":100.0,\"unsettled_amount\":100.0,\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"loan_acc_no\":\"setLoanAccNo\",\"loan_acc_seq_no\":\"setLoanAccSeqNo\",\"contract_no\":\"setContractNo\",\"loan_amount\":100.0,\"loan_ratio\":100.0,\"order_loan_status\":\"setOrderLoanStatus\",\"cancel_serial_no\":\"setCancelSerialNo\",\"settle_serial_no\":\"setSettleSerialNo\",\"settle_status\":\"setSettleStatus\",\"remark\":\"setRemark\"}],\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + void extractedGyOrderInfoQueryPageRequestParams(GyOrderInfoQueryPageRequest request) { + request.setCancelSerialNo("setCancelSerialNo"); + request.setOrderTimeStart("setOrderTimeStart"); + request.setOrderLoanStatus("setOrderLoanStatus"); + request.setSettleSerialNo("setSettleSerialNo"); + request.setCurrentPage(1L); + request.setSysSerialNo("setSysSerialNo"); + request.setAccountNo("setAccountNo"); + request.setOrderType("setOrderType"); + request.setSettleStatus("setSettleStatus"); + request.setOrderStatus("setOrderStatus"); + request.setReqSerialNo("setReqSerialNo"); + request.setOrderNo("setOrderNo"); + request.setOppAccountNo("setOppAccountNo"); + request.setCurrentRows(1L); + request.setOrderTimeEnd("setOrderTimeEnd"); + request.setTransTradeTime("setTransTradeTime"); + request.setAppNo("setAppNo"); + request.setChannelNo("setChannelNo"); + request.setTransDate("setTransDate"); + request.setSerialNo("setSerialNo"); + } + void extractedGyOrderInfoQueryPageRequestAssertions(GyOrderInfoQueryPageRequest request) { + Assertions.assertEquals("setCancelSerialNo", request.getCancelSerialNo()); + Assertions.assertEquals("setOrderTimeStart", request.getOrderTimeStart()); + Assertions.assertEquals("setOrderLoanStatus", request.getOrderLoanStatus()); + Assertions.assertEquals("setSettleSerialNo", request.getSettleSerialNo()); + Assertions.assertEquals(1L, request.getCurrentPage()); + Assertions.assertEquals("setSysSerialNo", request.getSysSerialNo()); + Assertions.assertEquals("setAccountNo", request.getAccountNo()); + Assertions.assertEquals("setOrderType", request.getOrderType()); + Assertions.assertEquals("setSettleStatus", request.getSettleStatus()); + Assertions.assertEquals("setOrderStatus", request.getOrderStatus()); + Assertions.assertEquals("setReqSerialNo", request.getReqSerialNo()); + Assertions.assertEquals("setOrderNo", request.getOrderNo()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertEquals(1L, request.getCurrentRows()); + Assertions.assertEquals("setOrderTimeEnd", request.getOrderTimeEnd()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + } + void extractedGyOrderInfoQueryPageResponseParams(GyOrderInfoQueryPageResponse response) { + response.setCurrentPage(1L); + response.setTotalRows(1L); + GyOrderInfoQueryPageResponse.GyOrderInfoQueryPageData gyorderinfoquerypagedata = new GyOrderInfoQueryPageResponse.GyOrderInfoQueryPageData(); + extractedGyOrderInfoQueryPageResponseGyOrderInfoQueryPageDataNestParams(gyorderinfoquerypagedata); + response.setData(Lists.list(gyorderinfoquerypagedata)); + response.setTotalPage(1L); + response.setSysSerialNo("setSysSerialNo"); + response.setSysDate("setSysDate"); + response.setSysTime("setSysTime"); + response.setRecode("setRecode"); + response.setRecodeInfo("setRecodeInfo"); + } + void extractedGyOrderInfoQueryPageResponseGyOrderInfoQueryPageDataNestParams(GyOrderInfoQueryPageResponse.GyOrderInfoQueryPageData nest) { + nest.setCancelSerialNo("setCancelSerialNo"); + nest.setOrderLoanStatus("setOrderLoanStatus"); + nest.setSettleSerialNo("setSettleSerialNo"); + nest.setApplyAccountName("setApplyAccountName"); + nest.setApplyAccountNo("setApplyAccountNo"); + nest.setOppAccountName("setOppAccountName"); + nest.setUnsettledAmount(BigDecimal.valueOf(100.00)); + nest.setSysSerialNo("setSysSerialNo"); + nest.setAccountNo("setAccountNo"); + nest.setOrderType("setOrderType"); + nest.setSettleStatus("setSettleStatus"); + nest.setOrderStatus("setOrderStatus"); + nest.setReqSerialNo("setReqSerialNo"); + nest.setOrderNo("setOrderNo"); + nest.setOppAccountNo("setOppAccountNo"); + nest.setLoanAmount(BigDecimal.valueOf(100.00)); + nest.setOrderAmount(BigDecimal.valueOf(100.00)); + nest.setLoanAccSeqNo("setLoanAccSeqNo"); + nest.setAccountName("setAccountName"); + nest.setRemark("setRemark"); + nest.setLoanAccNo("setLoanAccNo"); + nest.setContractNo("setContractNo"); + nest.setLoanRatio(BigDecimal.valueOf(100.00)); + } + void extractedGyOrderInfoQueryPageResponseGyOrderInfoQueryPageDataNestAssertions(GyOrderInfoQueryPageResponse.GyOrderInfoQueryPageData nest) { + Assertions.assertEquals("setCancelSerialNo", nest.getCancelSerialNo()); + Assertions.assertEquals("setOrderLoanStatus", nest.getOrderLoanStatus()); + Assertions.assertEquals("setSettleSerialNo", nest.getSettleSerialNo()); + Assertions.assertEquals("setApplyAccountName", nest.getApplyAccountName()); + Assertions.assertEquals("setApplyAccountNo", nest.getApplyAccountNo()); + Assertions.assertEquals("setOppAccountName", nest.getOppAccountName()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getUnsettledAmount()); + Assertions.assertEquals("setSysSerialNo", nest.getSysSerialNo()); + Assertions.assertEquals("setAccountNo", nest.getAccountNo()); + Assertions.assertEquals("setOrderType", nest.getOrderType()); + Assertions.assertEquals("setSettleStatus", nest.getSettleStatus()); + Assertions.assertEquals("setOrderStatus", nest.getOrderStatus()); + Assertions.assertEquals("setReqSerialNo", nest.getReqSerialNo()); + Assertions.assertEquals("setOrderNo", nest.getOrderNo()); + Assertions.assertEquals("setOppAccountNo", nest.getOppAccountNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getLoanAmount()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getOrderAmount()); + Assertions.assertEquals("setLoanAccSeqNo", nest.getLoanAccSeqNo()); + Assertions.assertEquals("setAccountName", nest.getAccountName()); + Assertions.assertEquals("setRemark", nest.getRemark()); + Assertions.assertEquals("setLoanAccNo", nest.getLoanAccNo()); + Assertions.assertEquals("setContractNo", nest.getContractNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), nest.getLoanRatio()); + } + void extractedGyOrderInfoQueryPageResponseAssertions(GyOrderInfoQueryPageResponse response) { + Assertions.assertEquals(1L, response.getCurrentPage()); + Assertions.assertEquals(1L, response.getTotalRows()); + for (GyOrderInfoQueryPageResponse.GyOrderInfoQueryPageData gyorderinfoquerypagedata : response.getData()) { + extractedGyOrderInfoQueryPageResponseGyOrderInfoQueryPageDataNestAssertions(gyorderinfoquerypagedata); + } + Assertions.assertEquals(1L, response.getTotalPage()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + } + + @Test + void invalidTest() { + GyOrderInvalidRequest request = new GyOrderInvalidRequest(); + extractedGyOrderInvalidRequestParams(request); + extractedGyOrderInvalidRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"order_no_list\":[\"123456789\"],\"invalid\":\"setInvalid\",\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); + + GyBaseResponse response = new GyBaseResponse(); + extractedGyBaseResponseParams(response); + extractedGyBaseResponseAssertions(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 httpResponse = MockHttpResponse.create("/gy/order/invalid", response, GyBaseResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/gy/order/invalid"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(GyBaseResponse.class))) + .thenReturn(httpResponse); + + GyBaseResponse result = service.invalid(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 extractedGyOrderInvalidRequestParams(GyOrderInvalidRequest request) { + request.setOrderNoList(Lists.list("123456789")); + request.setInvalid("setInvalid"); + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setSerialNo("setSerialNo"); + request.setChannelNo("setChannelNo"); + request.setAppNo("setAppNo"); + } + void extractedGyOrderInvalidRequestAssertions(GyOrderInvalidRequest request) { + Assertions.assertNotNull(request.getOrderNoList()); + Assertions.assertEquals("setInvalid", request.getInvalid()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + } + + @Test + void loanTest() { + GyOrderLoanRequest request = new GyOrderLoanRequest(); + extractedGyOrderLoanRequestParams(request); + extractedGyOrderLoanRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"period\":\"setPeriod\",\"verify_code\":\"setVerifyCode\",\"order_no_list\":[\"123456789\"],\"file_list\":[{\"file_no\":\"setFileNo\",\"file_type\":\"setFileType\"}],\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); + + GyOrderLoanResponse response = new GyOrderLoanResponse(); + extractedGyOrderLoanResponseParams(response); + extractedGyOrderLoanResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"loan_acc_no\":\"setLoanAccNo\",\"loan_acc_seq_no\":\"setLoanAccSeqNo\",\"loan_amount\":100.0,\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson); + + HttpResponse httpResponse = MockHttpResponse.create("/gy/order/loan", response, GyOrderLoanResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/gy/order/loan"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(GyOrderLoanResponse.class))) + .thenReturn(httpResponse); + + GyOrderLoanResponse result = service.loan(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"loan_acc_no\":\"setLoanAccNo\",\"loan_acc_seq_no\":\"setLoanAccSeqNo\",\"loan_amount\":100.0,\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson); + } + void extractedGyOrderLoanRequestParams(GyOrderLoanRequest request) { + request.setOppAccountName("setOppAccountName"); + request.setApplyAccountNo("setApplyAccountNo"); + request.setApplyAccountName("setApplyAccountName"); + request.setOppAccountNo("setOppAccountNo"); + request.setOrderNoList(Lists.list("123456789")); + FileMaterial filematerial = new FileMaterial(); + extractedGyOrderLoanRequestFileMaterialNestParams(filematerial); + request.setFileList(Lists.list(filematerial)); + request.setVerifyCode("setVerifyCode"); + request.setPeriod("setPeriod"); + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setSerialNo("setSerialNo"); + request.setChannelNo("setChannelNo"); + request.setAppNo("setAppNo"); + } + void extractedGyOrderLoanRequestFileMaterialNestParams(FileMaterial nest) { + nest.setFileNo("setFileNo"); + nest.setFileType("setFileType"); + } + void extractedGyOrderLoanRequestFileMaterialNestAssertions(FileMaterial nest) { + Assertions.assertEquals("setFileNo", nest.getFileNo()); + Assertions.assertEquals("setFileType", nest.getFileType()); + } + void extractedGyOrderLoanRequestAssertions(GyOrderLoanRequest request) { + Assertions.assertEquals("setOppAccountName", request.getOppAccountName()); + Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo()); + Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName()); + Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo()); + Assertions.assertNotNull(request.getOrderNoList()); + for (FileMaterial filematerial : request.getFileList()) { + extractedGyOrderLoanRequestFileMaterialNestAssertions(filematerial); + } + Assertions.assertEquals("setVerifyCode", request.getVerifyCode()); + Assertions.assertEquals("setPeriod", request.getPeriod()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + } + void extractedGyOrderLoanResponseParams(GyOrderLoanResponse response) { + response.setLoanAmount(BigDecimal.valueOf(100.00)); + response.setLoanAccNo("setLoanAccNo"); + response.setLoanAccSeqNo("setLoanAccSeqNo"); + response.setRecodeInfo("setRecodeInfo"); + response.setSysDate("setSysDate"); + response.setSysSerialNo("setSysSerialNo"); + response.setRecode("setRecode"); + response.setSysTime("setSysTime"); + } + void extractedGyOrderLoanResponseAssertions(GyOrderLoanResponse response) { + Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getLoanAmount()); + Assertions.assertEquals("setLoanAccNo", response.getLoanAccNo()); + Assertions.assertEquals("setLoanAccSeqNo", response.getLoanAccSeqNo()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + } + @Test + void settleRepayTest() { + GyOrderSettleRepayRequest request = new GyOrderSettleRepayRequest(); + extractedGyOrderSettleRepayRequestParams(request); + extractedGyOrderSettleRepayRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"order_no\":\"setOrderNo\",\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\"}", requestJson); + + GyBaseResponse response = new GyBaseResponse(); + extractedGyBaseResponseParams(response); + extractedGyBaseResponseAssertions(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 httpResponse = MockHttpResponse.create("/gy/order/settle-repay", response, GyBaseResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/gy/order/settle-repay"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(GyBaseResponse.class))) + .thenReturn(httpResponse); + + GyBaseResponse result = service.settleRepay(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 extractedGyOrderSettleRepayRequestParams(GyOrderSettleRepayRequest request) { + request.setOrderNo("setOrderNo"); + request.setTransTradeTime("setTransTradeTime"); + request.setTransDate("setTransDate"); + request.setSerialNo("setSerialNo"); + request.setChannelNo("setChannelNo"); + request.setAppNo("setAppNo"); + } + void extractedGyOrderSettleRepayRequestAssertions(GyOrderSettleRepayRequest request) { + Assertions.assertEquals("setOrderNo", request.getOrderNo()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + } +} diff --git a/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfiguration.java b/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfiguration.java index ebc21b2..e97cf19 100644 --- a/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfiguration.java +++ b/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfiguration.java @@ -12,10 +12,7 @@ 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.entpay.EntPayService; import com.czcb.scfs.api.service.v2.loan.CreditPayService; -import com.czcb.scfs.api.service.v2.order.OrderManageService; -import com.czcb.scfs.api.service.v2.order.OrderSettleService; -import com.czcb.scfs.api.service.v2.order.OrderTradeUnitPayService; -import com.czcb.scfs.api.service.v2.order.TradeOrdersSltService; +import com.czcb.scfs.api.service.v2.order.*; import com.czcb.scfs.api.service.v2.waybill.WayBillService; import com.czcb.scfs.api.service.v2.face.FaceService; import com.czcb.scfs.api.service.v2.file.FileService; @@ -272,4 +269,14 @@ public class ScfsAutoConfiguration { return new OrderTradeUnitPayService(apiClient); } + /** + * 订单(国业)管理 + */ + @Bean + @ConditionalOnMissingBean + @ConditionalOnClass(GyOrderService.class) + public GyOrderService gyOrderService(ApiClient apiClient) { + return new GyOrderService(apiClient); + } + }