feat:电商代销协议管理
parent
3c5d499867
commit
51dc7961da
|
|
@ -0,0 +1,108 @@
|
||||||
|
package com.czcb.scfs.api.service.handle.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.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 230911-线下来账入账通知
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@TransType("310407")
|
||||||
|
public class CoreDepositNotifyRequest 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("seq_no")
|
||||||
|
private String seqNo;
|
||||||
|
/**
|
||||||
|
* 账号,收款账号
|
||||||
|
*/
|
||||||
|
@SerializedName("account_no")
|
||||||
|
private String accountNo;
|
||||||
|
/**
|
||||||
|
* 户名,收款户名
|
||||||
|
*/
|
||||||
|
@SerializedName("account_name")
|
||||||
|
private String accountName;
|
||||||
|
/**
|
||||||
|
* 来账金额
|
||||||
|
*/
|
||||||
|
@SerializedName("trans_amount")
|
||||||
|
private BigDecimal transAmount;
|
||||||
|
/**
|
||||||
|
* 汇划路径 00:同行 03:小额 06:超网 09:大额
|
||||||
|
*/
|
||||||
|
@SerializedName("pay_path")
|
||||||
|
private String payPath;
|
||||||
|
/**
|
||||||
|
* 来账账号(对方账号)
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_account_no")
|
||||||
|
private String oppAccountNo;
|
||||||
|
/**
|
||||||
|
* 来账户名(对方户名)
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_account_name")
|
||||||
|
private String oppAccountName;
|
||||||
|
/**
|
||||||
|
* 来账银行行号(对方银行)
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_bank_no")
|
||||||
|
private String oppBankNo;
|
||||||
|
/**
|
||||||
|
* 来账银行名称(对方银行)
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_bank_name")
|
||||||
|
private String oppBankName;
|
||||||
|
/**
|
||||||
|
* 交易结果:1:成功 2:失败
|
||||||
|
*/
|
||||||
|
@SerializedName("trans_result")
|
||||||
|
private String transResult;
|
||||||
|
/**
|
||||||
|
* 失败原因
|
||||||
|
*/
|
||||||
|
@SerializedName("failure_msg")
|
||||||
|
private String failureMsg;
|
||||||
|
/**
|
||||||
|
* 摘要
|
||||||
|
*/
|
||||||
|
@SerializedName("remark")
|
||||||
|
private String remark;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.base.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 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BaseRequest 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;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.base.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 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BaseResponse 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;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
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.base.model.BaseResponse;
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.model.*;
|
||||||
|
|
||||||
|
import static com.czcb.scfs.api.core.Constants.API_VERSION;
|
||||||
|
import static com.czcb.scfs.api.core.Constants.V_2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电商代销协议管理
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @date 2026年05月28日
|
||||||
|
*/
|
||||||
|
public class MchConsignContractService {
|
||||||
|
|
||||||
|
private final ApiClient apiClient;
|
||||||
|
|
||||||
|
public MchConsignContractService(ApiClient apiClient) {
|
||||||
|
this.apiClient = apiClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310807-电商代销协议登记
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026/5/28
|
||||||
|
*/
|
||||||
|
public BaseResponse add(MchConsignContractAddRequest request) {
|
||||||
|
String url = "/t-mch-consign-contract/add";
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.addHeader(API_VERSION, V_2);
|
||||||
|
HttpResponse<BaseResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), BaseResponse.class);
|
||||||
|
return httpResponse.getServiceResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310808-电商代销协议删除
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026/5/28
|
||||||
|
*/
|
||||||
|
public BaseResponse del(MchConsignContractDelRequest request) {
|
||||||
|
String url = "/t-mch-consign-contract/del";
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.addHeader(API_VERSION, V_2);
|
||||||
|
HttpResponse<BaseResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), BaseResponse.class);
|
||||||
|
return httpResponse.getServiceResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310809-电商代销协议分页查询
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026/5/28
|
||||||
|
*/
|
||||||
|
public MchConsignContractQueryPageResponse queryPage(MchConsignContractQueryPageRequest request) {
|
||||||
|
String url = "/t-mch-consign-contract/query-page";
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.addHeader(API_VERSION, V_2);
|
||||||
|
HttpResponse<MchConsignContractQueryPageResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), MchConsignContractQueryPageResponse.class);
|
||||||
|
return httpResponse.getServiceResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310807-电商代销协议登记
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026/5/28
|
||||||
|
*/
|
||||||
|
public MchConsignContractQueryDetailResponse queryDetail(MchConsignContractQueryDetailRequest request) {
|
||||||
|
String url = "/t-mch-consign-contract/query-detail";
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.addHeader(API_VERSION, V_2);
|
||||||
|
HttpResponse<MchConsignContractQueryDetailResponse> httpResponse = apiClient.post(url, headers, request.toJsonRequest(), MchConsignContractQueryDetailResponse.class);
|
||||||
|
return httpResponse.getServiceResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,137 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.contract.model;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.core.agrs.TransType;
|
||||||
|
import com.czcb.scfs.api.service.v2.base.model.BaseRequest;
|
||||||
|
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.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310807-电商代销协议登记请求参数
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TransType("310807")
|
||||||
|
public class MchConsignContractAddRequest extends BaseRequest implements Serializable {
|
||||||
|
/**
|
||||||
|
* 电商编号
|
||||||
|
*/
|
||||||
|
@SerializedName("mch_no")
|
||||||
|
private String mchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_no")
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文本协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("text_contract_no")
|
||||||
|
private String textContractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方账号(电商的结算账号)
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_no")
|
||||||
|
private String consignAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方户名(电商的结算户名)
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_name")
|
||||||
|
private String consignAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方账号
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_no")
|
||||||
|
private String entrustAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方户名
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_name")
|
||||||
|
private String entrustAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议开始日期 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_date_start")
|
||||||
|
private String contractDateStart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议失效日期 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_date_end")
|
||||||
|
private String contractDateEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销年限额,默认为0
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_year_limit")
|
||||||
|
private BigDecimal consignYearLimit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议摘要
|
||||||
|
*/
|
||||||
|
@SerializedName("remark")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销协议明细列表
|
||||||
|
*/
|
||||||
|
@SerializedName("detail_list")
|
||||||
|
private List<ContractDetail> detailList;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class ContractDetail implements Serializable {
|
||||||
|
/**
|
||||||
|
* 协议类型:11-分账协议;12-税筹协议;13-还款协议
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_type")
|
||||||
|
private String contractType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收款账号
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_account_no")
|
||||||
|
private String oppAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收款户名
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_account_name")
|
||||||
|
private String oppAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务费编号
|
||||||
|
*/
|
||||||
|
@SerializedName("fee_no")
|
||||||
|
private String feeNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务费名称
|
||||||
|
*/
|
||||||
|
@SerializedName("fee_name")
|
||||||
|
private String feeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务费说明
|
||||||
|
*/
|
||||||
|
@SerializedName("fee_remark")
|
||||||
|
private String feeRemark;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.contract.model;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.core.agrs.TransType;
|
||||||
|
import com.czcb.scfs.api.service.v2.base.model.BaseRequest;
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310808-电商代销协议删除请求参数
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TransType("310808")
|
||||||
|
public class MchConsignContractDelRequest extends BaseRequest implements Serializable {
|
||||||
|
/**
|
||||||
|
* 代销协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_no")
|
||||||
|
private String contractNo;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.contract.model;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.core.agrs.TransType;
|
||||||
|
import com.czcb.scfs.api.service.v2.base.model.BaseRequest;
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310810-电商代销协议详情查询请求参数
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TransType("310810")
|
||||||
|
public class MchConsignContractQueryDetailRequest extends BaseRequest implements Serializable {
|
||||||
|
/**
|
||||||
|
* 代销协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_no")
|
||||||
|
private String contractNo;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,178 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.contract.model;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.service.v2.base.model.BaseResponse;
|
||||||
|
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.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310810-电商代销协议详情查询响应参数
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class MchConsignContractQueryDetailResponse extends BaseResponse implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求流水号
|
||||||
|
*/
|
||||||
|
@SerializedName("req_serial_no")
|
||||||
|
private String reqSerialNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统流水号
|
||||||
|
*/
|
||||||
|
@SerializedName("con_sys_serial_no")
|
||||||
|
private String conSysSerialNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电商编号
|
||||||
|
*/
|
||||||
|
@SerializedName("mch_no")
|
||||||
|
private String mchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_no")
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议状态:0-正常;1-作废
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_status")
|
||||||
|
private String contractStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议开始日期 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_date_start")
|
||||||
|
private String contractDateStart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议失效日期 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_date_end")
|
||||||
|
private String contractDateEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文本协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("text_contract_no")
|
||||||
|
private String textContractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方账号(电商的结算账号)
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_no")
|
||||||
|
private String consignAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方户名(电商的结算户名)
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_name")
|
||||||
|
private String consignAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方账号(委托方收款账号)
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_no")
|
||||||
|
private String entrustAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方户名(委托方收款户名)
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_name")
|
||||||
|
private String entrustAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销年限额,默认为0
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_year_limit")
|
||||||
|
private BigDecimal consignYearLimit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 摘要
|
||||||
|
*/
|
||||||
|
@SerializedName("remark")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间 yyyy-MM-dd hh:mm:ss
|
||||||
|
*/
|
||||||
|
@SerializedName("create_time")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间 yyyy-MM-dd hh:mm:ss
|
||||||
|
*/
|
||||||
|
@SerializedName("update_time")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销协议明细列表
|
||||||
|
*/
|
||||||
|
@SerializedName("data")
|
||||||
|
private List<ContractDetailData> data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class ContractDetailData implements Serializable {
|
||||||
|
/**
|
||||||
|
* 协议类型:11-分账协议;12-税筹协议;13-还款协议
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_type")
|
||||||
|
private String contractType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收款账号
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_account_no")
|
||||||
|
private String oppAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收款户名
|
||||||
|
*/
|
||||||
|
@SerializedName("opp_account_name")
|
||||||
|
private String oppAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务费编号
|
||||||
|
*/
|
||||||
|
@SerializedName("fee_no")
|
||||||
|
private String feeNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务费名称
|
||||||
|
*/
|
||||||
|
@SerializedName("fee_name")
|
||||||
|
private String feeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务费说明
|
||||||
|
*/
|
||||||
|
@SerializedName("fee_remark")
|
||||||
|
private String feeRemark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间 yyyy-MM-dd hh:mm:ss
|
||||||
|
*/
|
||||||
|
@SerializedName("create_time")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间 yyyy-MM-dd hh:mm:ss
|
||||||
|
*/
|
||||||
|
@SerializedName("update_time")
|
||||||
|
private String updateTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.contract.model;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.core.PageApiRequest;
|
||||||
|
import com.czcb.scfs.api.core.agrs.TransType;
|
||||||
|
import com.czcb.scfs.api.service.v2.base.model.BaseRequest;
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310809-电商代销协议分页查询请求参数
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TransType("310809")
|
||||||
|
public class MchConsignContractQueryPageRequest extends BaseRequest implements PageApiRequest {
|
||||||
|
/**
|
||||||
|
* 电商编号
|
||||||
|
*/
|
||||||
|
@SerializedName("mch_no")
|
||||||
|
private String mchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_no")
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文本协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("text_contract_no")
|
||||||
|
private String textContractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方账号
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_no")
|
||||||
|
private String consignAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方户名
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_name")
|
||||||
|
private String consignAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方账号
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_no")
|
||||||
|
private String entrustAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方户名
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_name")
|
||||||
|
private String entrustAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前页数,起始页默认0
|
||||||
|
*/
|
||||||
|
@SerializedName("current_page")
|
||||||
|
private Long currentPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每页行数,默认50,最大50条
|
||||||
|
*/
|
||||||
|
@SerializedName("current_rows")
|
||||||
|
private Long currentRows;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,148 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.contract.model;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.core.PageApiResponse;
|
||||||
|
import com.czcb.scfs.api.service.v2.base.model.BaseResponse;
|
||||||
|
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.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 310809-电商代销协议分页查询响应参数
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-05-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class MchConsignContractQueryPageResponse extends BaseResponse implements PageApiResponse {
|
||||||
|
/**
|
||||||
|
* 当前页码
|
||||||
|
*/
|
||||||
|
@SerializedName("current_page")
|
||||||
|
private Long currentPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总页数
|
||||||
|
*/
|
||||||
|
@SerializedName("total_page")
|
||||||
|
private Long totalPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总条数
|
||||||
|
*/
|
||||||
|
@SerializedName("total_rows")
|
||||||
|
private Long totalRows;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询结果集
|
||||||
|
*/
|
||||||
|
@SerializedName("data")
|
||||||
|
private List<ContractData> data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class ContractData implements Serializable {
|
||||||
|
/**
|
||||||
|
* 请求流水号
|
||||||
|
*/
|
||||||
|
@SerializedName("req_serial_no")
|
||||||
|
private String reqSerialNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统流水号
|
||||||
|
*/
|
||||||
|
@SerializedName("data_sys_serial_no")
|
||||||
|
private String dataSysSerialNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电商编号
|
||||||
|
*/
|
||||||
|
@SerializedName("mch_no")
|
||||||
|
private String mchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_no")
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议状态:0-正常;1-作废
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_status")
|
||||||
|
private String contractStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议开始日期 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_date_start")
|
||||||
|
private String contractDateStart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议失效日期 yyyy-MM-dd
|
||||||
|
*/
|
||||||
|
@SerializedName("contract_date_end")
|
||||||
|
private String contractDateEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文本协议编号
|
||||||
|
*/
|
||||||
|
@SerializedName("text_contract_no")
|
||||||
|
private String textContractNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方账号(电商的结算账号)
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_no")
|
||||||
|
private String consignAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销方户名(电商的结算户名)
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_account_name")
|
||||||
|
private String consignAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方账号(委托方收款账号)
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_no")
|
||||||
|
private String entrustAccountNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托方户名(委托方收款户名)
|
||||||
|
*/
|
||||||
|
@SerializedName("entrust_account_name")
|
||||||
|
private String entrustAccountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代销年限额,默认为0
|
||||||
|
*/
|
||||||
|
@SerializedName("consign_year_limit")
|
||||||
|
private BigDecimal consignYearLimit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 摘要
|
||||||
|
*/
|
||||||
|
@SerializedName("remark")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间 yyyy-MM-dd hh:mm:ss
|
||||||
|
*/
|
||||||
|
@SerializedName("create_time")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间 yyyy-MM-dd hh:mm:ss
|
||||||
|
*/
|
||||||
|
@SerializedName("update_time")
|
||||||
|
private String updateTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -79,4 +79,14 @@ public class SummaryOrderQueryPageRequest implements PageApiRequest {
|
||||||
*/
|
*/
|
||||||
@SerializedName("order_date_end")
|
@SerializedName("order_date_end")
|
||||||
private String orderDateEnd;
|
private String orderDateEnd;
|
||||||
|
/**
|
||||||
|
* 当前页数
|
||||||
|
*/
|
||||||
|
@SerializedName("current_page")
|
||||||
|
private Long currentPage;
|
||||||
|
/**
|
||||||
|
* 每页行数
|
||||||
|
*/
|
||||||
|
@SerializedName("current_rows")
|
||||||
|
private Long currentRows;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,22 @@ public class SummaryOrderQueryPageResponse implements PageApiResponse {
|
||||||
@SerializedName("data")
|
@SerializedName("data")
|
||||||
private List<OrderLiveInfoData> data;
|
private List<OrderLiveInfoData> data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前页码
|
||||||
|
*/
|
||||||
|
@SerializedName("current_page")
|
||||||
|
private Long currentPage;
|
||||||
|
/**
|
||||||
|
* 总页数
|
||||||
|
*/
|
||||||
|
@SerializedName("total_page")
|
||||||
|
private Long totalPage;
|
||||||
|
/**
|
||||||
|
* 总条数
|
||||||
|
*/
|
||||||
|
@SerializedName("total_rows")
|
||||||
|
private Long totalRows;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class OrderLiveInfoData implements Serializable {
|
public static class OrderLiveInfoData implements Serializable {
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import com.czcb.scfs.api.service.v2.bmd.BmdService;
|
||||||
import com.czcb.scfs.api.service.v2.cat.order.OrderService;
|
import com.czcb.scfs.api.service.v2.cat.order.OrderService;
|
||||||
import com.czcb.scfs.api.service.v2.cat.project.ProjectService;
|
import com.czcb.scfs.api.service.v2.cat.project.ProjectService;
|
||||||
import com.czcb.scfs.api.service.v2.communal.CommunalDataService;
|
import com.czcb.scfs.api.service.v2.communal.CommunalDataService;
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.MchConsignContractService;
|
||||||
import com.czcb.scfs.api.service.v2.contract.SettleContractService;
|
import com.czcb.scfs.api.service.v2.contract.SettleContractService;
|
||||||
import com.czcb.scfs.api.service.v2.entpay.EntPayService;
|
import com.czcb.scfs.api.service.v2.entpay.EntPayService;
|
||||||
import com.czcb.scfs.api.service.v2.loan.CreditPayService;
|
import com.czcb.scfs.api.service.v2.loan.CreditPayService;
|
||||||
|
|
@ -359,4 +360,14 @@ public class ScfsAutoConfiguration {
|
||||||
public NotifyHandler notifyHandler(ApiClient apiClient) {
|
public NotifyHandler notifyHandler(ApiClient apiClient) {
|
||||||
return new NotifyHandler(apiClient);
|
return new NotifyHandler(apiClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电商代销协议管理
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnMissingBean
|
||||||
|
@ConditionalOnClass(MchConsignContractService.class)
|
||||||
|
public MchConsignContractService mhConsignContractService(ApiClient apiClient) {
|
||||||
|
return new MchConsignContractService(apiClient);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@ scfs.api-gateway.online=false
|
||||||
#scfs.api-gateway.host=http://124.160.111.105:29080/api-gateway
|
#scfs.api-gateway.host=http://124.160.111.105:29080/api-gateway
|
||||||
# \u5185\u7F51\u5730\u5740
|
# \u5185\u7F51\u5730\u5740
|
||||||
#scfs.api-gateway.host=http://10.133.91.109:9080/api-gateway-kylin
|
#scfs.api-gateway.host=http://10.133.91.109:9080/api-gateway-kylin
|
||||||
scfs.api-gateway.host=http://127.0.0.1:8088/api-gateway
|
#scfs.api-gateway.host=http://10.133.91.109:9080/api-gateway-uat
|
||||||
scfs.api-gateway.channel.channel-no=1021
|
scfs.api-gateway.host=http://117.72.32.166:8099/api-gateway-uat
|
||||||
|
#scfs.api-gateway.host=http://127.0.0.1:8088/api-gateway
|
||||||
|
scfs.api-gateway.channel.channel-no=1038
|
||||||
scfs.api-gateway.channel.app-no=42
|
scfs.api-gateway.channel.app-no=42
|
||||||
scfs.api-gateway.cipher.store-type=resources
|
scfs.api-gateway.cipher.store-type=resources
|
||||||
#scfs.api-gateway.cipher.channel-private-key=invalid_rsa_private_key.pem
|
#scfs.api-gateway.cipher.channel-private-key=invalid_rsa_private_key.pem
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,105 @@
|
||||||
|
package com.czcb.scfs.api.test.service;
|
||||||
|
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.MchConsignContractService;
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.model.MchConsignContractAddRequest;
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.model.MchConsignContractDelRequest;
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.model.MchConsignContractQueryDetailRequest;
|
||||||
|
import com.czcb.scfs.api.service.v2.contract.model.MchConsignContractQueryPageRequest;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电商代销协议Test
|
||||||
|
*
|
||||||
|
* @author H.T
|
||||||
|
* @since 2026-03-24
|
||||||
|
*/
|
||||||
|
@SpringBootTest
|
||||||
|
class MchConsignContractServiceTest {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MchConsignContractService contractService;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void add() {
|
||||||
|
MchConsignContractAddRequest request = new MchConsignContractAddRequest();
|
||||||
|
request.setMchNo("TEST-004");
|
||||||
|
request.setContractNo("th202605140429"); // 协议编号
|
||||||
|
request.setConsignAccountNo("1038250711000013");
|
||||||
|
request.setConsignAccountName("日林建设集团有限公司");
|
||||||
|
request.setEntrustAccountNo("1038250714010020");
|
||||||
|
request.setEntrustAccountName("中铁电气工业有限公司");
|
||||||
|
request.setContractDateStart("2026-05-15");
|
||||||
|
request.setContractDateEnd("2026-05-15");
|
||||||
|
List<MchConsignContractAddRequest.ContractDetail> detailList = new ArrayList<>();
|
||||||
|
MchConsignContractAddRequest.ContractDetail detailItem = new MchConsignContractAddRequest.ContractDetail();
|
||||||
|
detailItem.setContractType("11");
|
||||||
|
detailItem.setFeeNo("0023");
|
||||||
|
detailItem.setFeeName("直播电商测试还款80%");
|
||||||
|
detailItem.setOppAccountNo("1038250711000017");
|
||||||
|
detailItem.setOppAccountName("王晓芹");
|
||||||
|
detailList.add(detailItem);
|
||||||
|
request.setDetailList(detailList);
|
||||||
|
|
||||||
|
request.setChannelNo("1038");
|
||||||
|
request.setAppNo("10");
|
||||||
|
request.setSerialNo(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
request.setTransDate("2024-03-20");
|
||||||
|
request.setTransTradeTime("2024-01-02 09:11:53");
|
||||||
|
|
||||||
|
System.out.println(contractService.add(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void del() {
|
||||||
|
MchConsignContractDelRequest request = new MchConsignContractDelRequest();
|
||||||
|
|
||||||
|
request.setChannelNo("1038");
|
||||||
|
request.setAppNo("12");
|
||||||
|
request.setSerialNo("1111112323");
|
||||||
|
request.setTransDate("2024-07-24");
|
||||||
|
request.setTransTradeTime("2024-07-24 13:55:29");
|
||||||
|
|
||||||
|
request.setContractNo("th202605140428"); // 注意:如果要用图3的报文,这里改为 "th202605140427"
|
||||||
|
System.out.println(contractService.del(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void queryDetail() {
|
||||||
|
|
||||||
|
MchConsignContractQueryDetailRequest request = new MchConsignContractQueryDetailRequest();
|
||||||
|
|
||||||
|
request.setChannelNo("1038");
|
||||||
|
request.setAppNo("12");
|
||||||
|
request.setSerialNo("1111112323");
|
||||||
|
request.setTransDate("2024-07-24");
|
||||||
|
request.setTransTradeTime("2024-07-24 13:55:29");
|
||||||
|
|
||||||
|
request.setContractNo("th202605140428");
|
||||||
|
System.out.println(contractService.queryDetail(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void queryPage() {
|
||||||
|
MchConsignContractQueryPageRequest request = new MchConsignContractQueryPageRequest();
|
||||||
|
|
||||||
|
request.setChannelNo("1038");
|
||||||
|
request.setAppNo("12");
|
||||||
|
request.setSerialNo("1111112323");
|
||||||
|
request.setTransDate("2024-07-24");
|
||||||
|
request.setTransTradeTime("2024-07-24 13:55:29");
|
||||||
|
|
||||||
|
request.setMchNo("TEST-004");
|
||||||
|
request.setContractNo("th202605140428");
|
||||||
|
request.setConsignAccountNo("1038250711000013");
|
||||||
|
|
||||||
|
request.setCurrentPage(0L); // 默认从0开始
|
||||||
|
request.setCurrentRows(50L); // 默认每页50条
|
||||||
|
System.out.println(contractService.queryPage(request));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue