feat: 立项与合同HCS前端接入配套端点——C103-8合同特批发起/B103结果回传、C103-2/5附件代理、C101-1风险与C103-6/12主数据查询,合同推送高风险客商挂起待特批

This commit is contained in:
刘泉佳
2026-10-09 19:45:40 +08:00
parent e41863d7f7
commit 7855254a4f
12 changed files with 1018 additions and 9 deletions
@@ -0,0 +1,77 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.hcs.dto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 合同合规系统(HCS)C103-8 合同发起特批流程入参
* <p>
* TODO 待联调确认(前端接入设计 §6-U1):C103-8 报文 v4 未提供,本 DTO 按 C106-3 结算付款特批的
* formData/mechanisms 模式预估,字段名以合规方最新接口说明为准。
*
* @author Chill
*/
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class HcsSpecContractSaveDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 特批流程ID(更新必填,发起不传)
*/
private String fdId;
/**
* 【必填】操作人登录名(§9-U2)
*/
private String fdLoginName;
/**
* 【必填】合规合同ID(blade_contract_manage.hcs_fd_id,非名称)
*/
private String fdContractId;
/**
* 【必填】合同编号
*/
private String fdContractNo;
/**
* 【必填】单据主题:"合同特批-" + 合同编号
*/
private String fdDocSubject;
/**
* 特批事由(合同名称/特批原因,非必传)
*/
private String fdReason;
/**
* 特批附件(C103-2 转传返回的合规附件ID 引用)
*/
private HcsMechanismsDTO mechanisms;
}
@@ -54,6 +54,7 @@ import org.springblade.hcs.dto.HcsReceiptBillSaveDTO;
import org.springblade.hcs.dto.HcsResult;
import org.springblade.hcs.dto.HcsRiskQueryDTO;
import org.springblade.hcs.dto.HcsRiskVO;
import org.springblade.hcs.dto.HcsSpecContractSaveDTO;
import org.springblade.hcs.dto.HcsSpecPaySaveDTO;
import org.springblade.hcs.dto.HcsTemplateVO;
import org.springframework.cloud.openfeign.FeignClient;
@@ -97,6 +98,7 @@ public interface IHcsClient {
String CREDIT_CHECK_URL = "${thirdParty.hcs.creditCheckUrl:/openapi/eop-cdraft/lcode/ext-cdraft/extEopCdraftMainOpen/contractCreditCheck}";
String SPEC_PAY_ADD_URL = "${thirdParty.hcs.specPayAddUrl:/openapi/sys-modeling/lcode/ext-pay-receive/extPayReceiveOpenService/addSpecApplyPay}";
String SPEC_PAY_UPDATE_URL = "${thirdParty.hcs.specPayUpdateUrl:/openapi/sys-modeling/lcode/ext-pay-receive/extPayReceiveOpenService/updateSpecApplyPay}";
String SPEC_CONTRACT_ADD_URL = "${thirdParty.hcs.specContractAddUrl:/openapi/sys-modeling/lcode/ext-cdraft/extEopCdraftMainOpen/addSpecApplyContract}";
String PERF_RECORD_ADD_URL = "${thirdParty.hcs.perfRecordAddUrl:/openapi/sys-modeling/apis/data/km-pay-receive/V1/dataSync/add}";
String PERF_RECORD_UPDATE_URL = "${thirdParty.hcs.perfRecordUpdateUrl:/openapi/sys-modeling/apis/data/km-pay-receive/V1/dataSync/update}";
String RECEIPT_BILL_ADD_URL = "${thirdParty.hcs.receiptBillAddUrl:/openapi/sys-modeling/lcode/ext-invoice-receive/extInvoiceReceiveOpenService/addReceiveBill}";
@@ -264,6 +266,19 @@ public interface IHcsClient {
@PostMapping(SPEC_PAY_UPDATE_URL)
HcsResult<HcsResult<Void>> updateSpecApplyPay(@RequestBody HcsSpecPaySaveDTO param);
/**
* C103-8 合同发起特批流程(高风险客商签约特批)
* <p>
* TODO 待联调确认(前端接入设计 §6-U1):C103-8 报文与路径均未在 v4 接口说明中定义,
* 本端点按 C106-3 结算付款特批的报文结构预估(双层嵌套 data.data 承接返回),
* 路径可经 thirdParty.hcs.specContractAddUrl 覆盖,字段以合规方最新接口说明为准。
*
* @param param 请求参数
* @return data.data.{fdId, fdXFormId, docViewUrl}(fdId 为特批流程ID)
*/
@PostMapping(SPEC_CONTRACT_ADD_URL)
HcsResult<HcsResult<HcsFormSaveVO>> addSpecContract(@RequestBody HcsSpecContractSaveDTO param);
/**
* C108-1 履约记录新建
*