feat: 发票池汇总订单贷款还款优化

main
wb3298 2025-09-15 09:18:16 +08:00
parent 077599f6a7
commit f97f874951
14 changed files with 827 additions and 3 deletions

View File

@ -82,6 +82,7 @@ public class InvoiceService {
/** /**
* 232110- * 232110-
*/ */
@Deprecated
public InvoiceSettleRepayResponse invoiceSettleRepay(InvoiceSettleRepayRequest request) { public InvoiceSettleRepayResponse invoiceSettleRepay(InvoiceSettleRepayRequest request) {
String url = "/invoice/settle-repay"; String url = "/invoice/settle-repay";
HttpResponse<InvoiceSettleRepayResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), HttpResponse<InvoiceSettleRepayResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
@ -102,6 +103,7 @@ public class InvoiceService {
/** /**
* 310601- * 310601-
*/ */
@Deprecated
public OrderPoolSettleResponse poolSettle(OrderPoolSettleRequest request) { public OrderPoolSettleResponse poolSettle(OrderPoolSettleRequest request) {
String url = "/order/pool/settle"; String url = "/order/pool/settle";
HttpResponse<OrderPoolSettleResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(), HttpResponse<OrderPoolSettleResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
@ -109,5 +111,30 @@ public class InvoiceService {
return httpResponse.getServiceResponse(); return httpResponse.getServiceResponse();
} }
/**
* 222309-
*/
@Deprecated
public InvoicePoolSettleResponse invoicePoolSettle(InvoicePoolSettleRequest request) {
String url = "/invoice-pool/settle";
HttpResponse<InvoicePoolSettleResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
request.toJsonRequest(), InvoicePoolSettleResponse.class);
return httpResponse.getServiceResponse();
}
/**
* 222310-
*/
@Deprecated
public InvoiceSettleResponse invoiceSettle(InvoiceSettleRequest request) {
String url = "/invoice/settle";
HttpResponse<InvoiceSettleResponse> httpResponse = apiClient.post(url, HttpHeaders.apiVersionV2(),
request.toJsonRequest(), InvoiceSettleResponse.class);
return httpResponse.getServiceResponse();
}
} }

View File

@ -0,0 +1,67 @@
package com.czcb.scfs.api.service.v2.invoice.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.math.BigDecimal;
/**
* 222309-
*
* @author yuchuan
* @since 2025-09-11
*/
@Data
@Accessors(chain = true)
@TransType("222309")
public class InvoicePoolSettleRequest 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;
/**
*
*/
@SerializedName("settle_account_no")
private String settleAccountNo;
/**
*
*/
@SerializedName("settle_account_name")
private String settleAccountName;
/**
*
*/
@SerializedName("settle_amount")
private BigDecimal settleAmount;
}

View File

@ -0,0 +1,46 @@
package com.czcb.scfs.api.service.v2.invoice.model;
import com.czcb.scfs.api.core.ApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 222309-
*
* @author yuchuan
* @since 2025-09-11
*/
@Data
@Accessors(chain = true)
public class InvoicePoolSettleResponse 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

@ -1,6 +1,6 @@
package com.czcb.scfs.api.service.v2.invoice.model; package com.czcb.scfs.api.service.v2.invoice.model;
import com.czcb.scfs.api.core.PageApiRequest; import com.czcb.scfs.api.core.ApiRequest;
import com.czcb.scfs.api.core.agrs.TransType; import com.czcb.scfs.api.core.agrs.TransType;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import lombok.Data; import lombok.Data;
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@TransType("232110") @TransType("232110")
public class InvoiceSettleRepayRequest implements PageApiRequest { public class InvoiceSettleRepayRequest implements ApiRequest {
/** /**
* *
*/ */

View File

@ -0,0 +1,53 @@
package com.czcb.scfs.api.service.v2.invoice.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;
/**
* 222310-
*
* @author yuchuan
* @since 2025-09-11
*/
@Data
@Accessors(chain = true)
@TransType("222310")
public class InvoiceSettleRequest 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;
/**
*
*/
@SerializedName("invoice_no")
private String invoiceNo;
}

View File

@ -0,0 +1,46 @@
package com.czcb.scfs.api.service.v2.invoice.model;
import com.czcb.scfs.api.core.ApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 222310-
*
* @author yuchuan
* @since 2025-09-11
*/
@Data
@Accessors(chain = true)
public class InvoiceSettleResponse 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

@ -1,5 +1,6 @@
package com.czcb.scfs.api.service.v2.invoice.model; package com.czcb.scfs.api.service.v2.invoice.model;
import com.czcb.scfs.api.core.ApiRequest;
import com.czcb.scfs.api.core.PageApiRequest; import com.czcb.scfs.api.core.PageApiRequest;
import com.czcb.scfs.api.core.agrs.TransType; import com.czcb.scfs.api.core.agrs.TransType;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
@ -15,7 +16,7 @@ import lombok.experimental.Accessors;
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@TransType("310601") @TransType("310601")
public class OrderPoolSettleRequest implements PageApiRequest { public class OrderPoolSettleRequest implements ApiRequest {
/** /**
* *
*/ */

View File

@ -130,4 +130,33 @@ public class LoanService {
HttpResponse<CreditLoanResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), CreditLoanResponse.class); HttpResponse<CreditLoanResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), CreditLoanResponse.class);
return httpResponse.getServiceResponse(); return httpResponse.getServiceResponse();
} }
/**
* 243001-
*
* @author yuchuan
* @since 2025/09/12
*/
public CreditLoanInfoPageQueryResponse creditLoanInfoPageQuery(CreditLoanInfoPageQueryRequest request) {
String url = "/credit-loan-info/find/page";
HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_2);
HttpResponse<CreditLoanInfoPageQueryResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), CreditLoanInfoPageQueryResponse.class);
return httpResponse.getServiceResponse();
}
/**
* 243001-
*
* @author yuchuan
* @since 2025/09/12
*/
public CreditRepayInfoPageQueryResponse creditRepayInfoPageQuery(CreditRepayInfoPageQueryRequest request) {
String url = "/credit-loan-info/find/page";
HttpHeaders headers = new HttpHeaders();
headers.addHeader(API_VERSION, V_2);
HttpResponse<CreditRepayInfoPageQueryResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), CreditRepayInfoPageQueryResponse.class);
return httpResponse.getServiceResponse();
}
} }

View File

@ -0,0 +1,143 @@
package com.czcb.scfs.api.service.v2.loan.model;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* DTO
* </p>
*
* @author codegen
* @since 2024-10-29
*/
@Data
@Accessors(chain = true)
public class CreditLoanInfoDTO implements Serializable {
/**
*
*/
@SerializedName("contract_no")
private String contractNo;
/**
* A1
*/
@SerializedName("account_no")
private String accountNo;
/**
* A1
*/
@SerializedName("account_name")
private String accountName;
/**
*
*/
@SerializedName("trade_date")
private Date tradeDate;
/**
*
*/
@SerializedName("trade_time")
private Date tradeTime;
/**
*
*/
@SerializedName("loan_amount")
private BigDecimal loanAmount;
/**
*
*/
@SerializedName("deal_date")
private Date dealDate;
/**
*
*/
@SerializedName("sys_serial_no")
private String sysSerialNo;
/**
* ()
*/
@SerializedName("core_serial_no")
private String coreSerialNo;
/**
*
*/
@SerializedName("loan_status")
private String loanStatus;
/**
*
*/
@SerializedName("fail_msg")
private String failMsg;
/**
*
*/
@SerializedName("account_no_sk")
private String accountNoSk;
/**
*
*/
@SerializedName("account_name_sk")
private String accountNameSk;
/**
*
*/
@SerializedName("bank_no")
private String bankNo;
/**
* (0: 1:)
*/
@SerializedName("sfwh_flag")
private String sfwhFlag;
/**
* (0: 1:)
*/
@SerializedName("st_flag")
private String stFlag;
/**
*
*/
@SerializedName("st_amount")
private BigDecimal stAmount;
/**
*
*/
@SerializedName("core_contract_no")
private String coreContractNo;
/**
*
*/
@SerializedName("st_account_no")
private String stAccountNo;
/**
*
*/
@SerializedName("st_account_name")
private String stAccountName;
/**
*
*/
@SerializedName("st_bank_no")
private String stBankNo;
/**
*
*/
@SerializedName("st_bank_name")
private String stBankName;
/**
*
*/
@SerializedName("loanacctno")
private String loanacctno;
/**
*
*/
@SerializedName("acctseqno")
private String acctseqno;
}

View File

@ -0,0 +1,67 @@
package com.czcb.scfs.api.service.v2.loan.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.experimental.Accessors;
import java.util.List;
/**
* 243001-
*
* @author yuchuan
* @since 2025/09/12
*/
@Data
@Accessors(chain = true)
@TransType("243001")
public class CreditLoanInfoPageQueryRequest implements PageApiRequest {
/**
*
*/
@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;
/**
*
*/
@SerializedName("current_page")
private Long currentPage;
/**
*
*/
@SerializedName("current_rows")
private Long currentRows;
@SerializedName("data")
private CreditLoanInfoDTO data;
}

View File

@ -0,0 +1,69 @@
package com.czcb.scfs.api.service.v2.loan.model;
import com.czcb.scfs.api.core.PageApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 243001-
*
* @author yuchuan
* @since 2025/09/12
*/
@Data
@Accessors(chain = true)
public class CreditLoanInfoPageQueryResponse implements PageApiResponse {
/**
* 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;
/**
*
*/
@SerializedName("current_page")
private Long currentPage;
/**
*
*/
@SerializedName("total_page")
private Long totalPage;
/**
*
*/
@SerializedName("total_rows")
private Long totalRows;
@SerializedName("data")
private List<CreditLoanInfoDTO> data;
}

View File

@ -0,0 +1,139 @@
package com.czcb.scfs.api.service.v2.loan.model;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* DTO
* </p>
*
* @author codegen
* @since 2024-10-29
*/
@Data
@Accessors(chain = true)
public class CreditRepayInfoDTO implements Serializable {
/**
*
*/
@SerializedName("contract_no")
private String contractNo;
/**
*
*/
@SerializedName("loan_acct_no")
private String loanAcctNo;
/**
* A1
*/
@SerializedName("account_no")
private String accountNo;
/**
* A1
*/
@SerializedName("account_name")
private String accountName;
/**
*
*/
@SerializedName("repay_amount")
private BigDecimal repayAmount;
/**
*
*/
@SerializedName("need_repay_accrual")
private BigDecimal needRepayAccrual;
/**
*
*/
@SerializedName("trade_date")
private Date tradeDate;
/**
*
*/
@SerializedName("trade_time")
private Date tradeTime;
/**
*
*/
@SerializedName("sys_serial_no")
private String sysSerialNo;
/**
* ()
*/
@SerializedName("core_serial_no")
private String coreSerialNo;
/**
* 0 1
*/
@SerializedName("repay_type")
private String repayType;
/**
* 0 1
*/
@SerializedName("repay_way")
private String repayWay;
/**
* 0: 1: 2:
*/
@SerializedName("repay_status")
private String repayStatus;
/**
*
*/
@SerializedName("fail_msg")
private String failMsg;
/**
*
*/
@SerializedName("repay_account_no")
private String repayAccountNo;
/**
*
*/
@SerializedName("repay_account_name")
private String repayAccountName;
/**
* (0,;1,)
*/
@SerializedName("is_channel_pay_intvl")
private String isChannelPayIntvl;
/**
*
*/
@SerializedName("intvl_pay_account_no")
private String intvlPayAccountNo;
/**
*
*/
@SerializedName("intvl_pay_account_name")
private String intvlPayAccountName;
/**
*
*/
@SerializedName("ent_repay_account_no")
private String entRepayAccountNo;
/**
*
*/
@SerializedName("ent_repay_account_name")
private String entRepayAccountName;
/**
*
*/
@SerializedName("core_contract_no")
private String coreContractNo;
/**
*
*/
@SerializedName("need_repay_principal")
private BigDecimal needRepayPrincipal;
}

View File

@ -0,0 +1,67 @@
package com.czcb.scfs.api.service.v2.loan.model;
import com.czcb.scfs.api.core.ApiRequest;
import com.czcb.scfs.api.core.PageApiRequest;
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.experimental.Accessors;
import java.math.BigDecimal;
import java.util.List;
/**
* 243201-
*
* @author yuchuan
* @since 2025/09/12
*/
@Data
@Accessors(chain = true)
@TransType("243201")
public class CreditRepayInfoPageQueryRequest implements PageApiRequest {
/**
*
*/
@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;
/**
*
*/
@SerializedName("current_page")
private Long currentPage;
/**
*
*/
@SerializedName("current_rows")
private Long currentRows;
}

View File

@ -0,0 +1,70 @@
package com.czcb.scfs.api.service.v2.loan.model;
import com.czcb.scfs.api.core.ApiResponse;
import com.czcb.scfs.api.core.PageApiResponse;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
/**
* 243201-
*
* @author yuchuan
* @since 2025/09/12
*/
@Data
@Accessors(chain = true)
public class CreditRepayInfoPageQueryResponse implements PageApiResponse {
/**
* 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;
/**
*
*/
@SerializedName("current_page")
private Long currentPage;
/**
*
*/
@SerializedName("total_page")
private Long totalPage;
/**
*
*/
@SerializedName("total_rows")
private Long totalRows;
}