:refactor: 合同特批改为随起草报文 fdSepcailContract 发起,删除 C103-8 链路并修正结果回调报文
- C103-8 独立特批发起接口合规未提供(联调 404):删除 IHcsClient#addSpecContract、SPEC_CONTRACT_ADD_URL、HcsSpecContractSaveDTO、applySpec 及辅助方法、人工端点 POST /hcs/contract/spec-apply - 高风险/黑名单客商合同推送时 C103-1/C103-11 报文携带 fdSepcailContract=true,合规侧随起草自动走特批流程;推送门禁与手动重推仅拦截 processing,need 存量卡单重推自愈 - 推送成功后 hangSpecReview 挂起"特批审核"(processing),含 approved/rejected 终态守卫防合规秒批回调竞态覆盖 - 特批附件随 C103-1 附件面板 eopCdraftSpecial 挂载(原全部走 eopCdraftOther) - contractLegal/result 回调报文按合规方最新字段表修正(HcsContractLegalResultDTO:contractCode/success/kingdeeId/sourceSystem=WCCK),按合同编号定位合同,success=true 联动放行、false 联动审批驳回
This commit is contained in:
+18
-18
@@ -33,45 +33,45 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 合同合规系统(HCS)C103-8 合同发起特批流程入参
|
||||
* 合同特批完成后合规系统回传 TMS 的结果报文(POST /hcs/contractLegal/result,iPaaS 网关 /gwzh/HTHG/contractLegal/result)
|
||||
* <p>
|
||||
* TODO 待联调确认(前端接入设计 §6-U1):C103-8 报文 v4 未提供,本 DTO 按 C106-3 结算付款特批的
|
||||
* formData/mechanisms 模式预估,字段名以合规方最新接口说明为准。
|
||||
* 报文为"合同同步结果"结构:合规特批完成后同步金蝶,回调携带金蝶同步结果;
|
||||
* 定位合同用 contractCode(ERP 合同编号),requestId 仅是 X-ERP-Request-Id 请求头原样回传、不能用于定位。
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class HcsSpecContractSaveDTO implements Serializable {
|
||||
public class HcsContractLegalResultDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 特批流程ID(更新必填,发起不传)
|
||||
* 合同类型:deliverer=投送人;gc=钢厂;sett_center=结算中心
|
||||
*/
|
||||
private String fdId;
|
||||
private String contractType;
|
||||
/**
|
||||
* 【必填】操作人登录名(§9-U2)
|
||||
* ERP 本次同步使用的合同编号(TMS blade_contract_manage.contract_no,定位合同用)
|
||||
*/
|
||||
private String fdLoginName;
|
||||
private String contractCode;
|
||||
/**
|
||||
* 【必填】合规合同ID(blade_contract_manage.hcs_fd_id,非名称)
|
||||
* 本次合同同步请求头 X-ERP-Request-Id,原样回传(不用于定位)
|
||||
*/
|
||||
private String fdContractId;
|
||||
private String requestId;
|
||||
/**
|
||||
* 【必填】合同编号
|
||||
* 金蝶同步成功传 true,失败传 false
|
||||
*/
|
||||
private String fdContractNo;
|
||||
private Boolean success;
|
||||
/**
|
||||
* 【必填】单据主题:"合同特批-" + 合同编号
|
||||
* 金蝶同步失败原因;失败时建议填写
|
||||
*/
|
||||
private String fdDocSubject;
|
||||
private String reason;
|
||||
/**
|
||||
* 特批事由(合同名称/特批原因,非必传)
|
||||
* 金蝶实际返回的合同 ID;成功时用于保存留痕
|
||||
*/
|
||||
private String fdReason;
|
||||
private String kingdeeId;
|
||||
/**
|
||||
* 特批附件(C103-2 转传返回的合规附件ID 引用)
|
||||
* 来源系统标识,约定传 WCCK(最长 64 字符)
|
||||
*/
|
||||
private HcsMechanismsDTO mechanisms;
|
||||
private String sourceSystem;
|
||||
}
|
||||
+1
-16
@@ -55,7 +55,6 @@ 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;
|
||||
@@ -79,7 +78,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@FeignClient(name = "HCS", url = "${thirdParty.hcs.baseUrl}", configuration = HcsFeignClientConfig.class, fallbackFactory = HcsClientFallbackFactory.class)
|
||||
@FeignClient(name = "HCS", url = "${thirdParty.hcs.baseUrl}", configuration = HcsFeignClientConfig.class, fallbackFactory = HcsClientFallbackFactory.class, primary = false)
|
||||
public interface IHcsClient {
|
||||
|
||||
String PROJECT_ADD_URL = "${thirdParty.hcs.projectAddUrl:/openapi/sys-modeling/apis/data/km-project1/V1/projectApproval/add}";
|
||||
@@ -99,7 +98,6 @@ 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}";
|
||||
@@ -267,19 +265,6 @@ 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 履约记录新建
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user