fix: 合同特批结果回传来源系统标识
This commit is contained in:
+9
-12
@@ -25,16 +25,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.springblade.transport.support.hcs;
|
package org.springblade.transport.support.hcs;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springblade.core.log.exception.ServiceException;
|
import org.springblade.core.log.exception.ServiceException;
|
||||||
import org.springblade.core.tool.utils.StringUtil;
|
import org.springblade.core.tool.utils.StringUtil;
|
||||||
|
import org.springblade.hcs.config.HcsProperties;
|
||||||
import org.springblade.hcs.dto.HcsContractDetailQueryDTO;
|
import org.springblade.hcs.dto.HcsContractDetailQueryDTO;
|
||||||
import org.springblade.hcs.dto.HcsContractDetailVO;
|
import org.springblade.hcs.dto.HcsContractDetailVO;
|
||||||
import org.springblade.hcs.dto.HcsContractLegalResultDTO;
|
import org.springblade.hcs.dto.HcsContractLegalResultDTO;
|
||||||
import org.springblade.hcs.dto.HcsLegalResultDTO;
|
|
||||||
import org.springblade.hcs.dto.HcsResult;
|
import org.springblade.hcs.dto.HcsResult;
|
||||||
import org.springblade.hcs.feign.IHcsClient;
|
import org.springblade.hcs.feign.IHcsClient;
|
||||||
import org.springblade.transport.constant.HcsSyncConstant;
|
import org.springblade.transport.constant.HcsSyncConstant;
|
||||||
@@ -44,8 +45,8 @@ import org.springblade.transport.pojo.entity.ContractManage;
|
|||||||
import org.springblade.transport.pojo.entity.HcsContractCheckLog;
|
import org.springblade.transport.pojo.entity.HcsContractCheckLog;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@@ -60,7 +61,7 @@ import java.util.Map;
|
|||||||
* 集团审批结果经合规 contractLegal/result 接口推送 TMS(替代未建设的 B103),或定时 C103-4 查询兜底联动 →
|
* 集团审批结果经合规 contractLegal/result 接口推送 TMS(替代未建设的 B103),或定时 C103-4 查询兜底联动 →
|
||||||
* approved 恢复流程,rejected 联动合同审批驳回。
|
* approved 恢复流程,rejected 联动合同审批驳回。
|
||||||
* <p>
|
* <p>
|
||||||
* 结果推送报文 {contractType, contractCode, requestId, success, reason, kingdeeId, sourceSystem=WCCK},原文留痕 blade_hcs_check_log。
|
* 结果推送报文 {contractType, contractCode, requestId, success, reason, kingdeeId, sourceSystem=},原文留痕 blade_hcs_check_log。
|
||||||
*
|
*
|
||||||
* @author Chill
|
* @author Chill
|
||||||
*/
|
*/
|
||||||
@@ -79,11 +80,6 @@ public class HcsContractSpecSyncSupport {
|
|||||||
*/
|
*/
|
||||||
private static final String LEGAL_STATUS_INVALID = "approvalinvalid";
|
private static final String LEGAL_STATUS_INVALID = "approvalinvalid";
|
||||||
|
|
||||||
/**
|
|
||||||
* 合同特批结果回传来源系统标识(合规方接口文档约定固定传 WCCK)
|
|
||||||
*/
|
|
||||||
private static final String LEGAL_CALLBACK_SRC_SYSTEM = "WCCK";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结果推送原文留痕最大长度(blade_hcs_check_log.msg 为 varchar(512))
|
* 结果推送原文留痕最大长度(blade_hcs_check_log.msg 为 varchar(512))
|
||||||
*/
|
*/
|
||||||
@@ -92,6 +88,7 @@ public class HcsContractSpecSyncSupport {
|
|||||||
private final IHcsClient hcsClient;
|
private final IHcsClient hcsClient;
|
||||||
private final ContractManageMapper contractManageMapper;
|
private final ContractManageMapper contractManageMapper;
|
||||||
private final HcsContractCheckLogMapper hcsContractCheckLogMapper;
|
private final HcsContractCheckLogMapper hcsContractCheckLogMapper;
|
||||||
|
private final HcsProperties hcsProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 特批结果定时查询兜底(合规推送 contractLegal/result 未达/未配置时的补偿,2026-10-13):
|
* 特批结果定时查询兜底(合规推送 contractLegal/result 未达/未配置时的补偿,2026-10-13):
|
||||||
@@ -171,16 +168,16 @@ public class HcsContractSpecSyncSupport {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同特批结果接收处理(合规 contractLegal/result 推送,2026-10-13 按合规方最新字段表修正报文结构):
|
* 合同特批结果接收处理(合规 contractLegal/result 推送,2026-10-13 按合规方最新字段表修正报文结构):
|
||||||
* 特批完成后合规侧同步金蝶并回调,报文 {contractType, contractCode, requestId, success, reason, kingdeeId, sourceSystem=WCCK};
|
* 特批完成后合规侧同步金蝶并回调,报文 {contractType, contractCode, requestId, success, reason, kingdeeId, sourceSystem=};
|
||||||
* sourceSystem 须为 WCCK(不符抛"来源系统标识错误"异常);contractCode=TMS 合同编号定位(requestId 仅请求头回显不可定位);
|
* sourceSystem 须为 (不符抛"来源系统标识错误"异常);contractCode=TMS 合同编号定位(requestId 仅请求头回显不可定位);
|
||||||
* success=true 联动恢复"审批通过"(金蝶合同ID回填 kingdee_id);success=false 联动合同审批驳回走重新提交闭环(reason 随原文留痕)
|
* success=true 联动恢复"审批通过"(金蝶合同ID回填 kingdee_id);success=false 联动合同审批驳回走重新提交闭环(reason 随原文留痕)
|
||||||
*
|
*
|
||||||
* @param param 合规推送报文
|
* @param param 合规推送报文
|
||||||
* @return 处理结果描述
|
* @return 处理结果描述
|
||||||
*/
|
*/
|
||||||
public String handleLegalResult(HcsContractLegalResultDTO param) {
|
public String handleLegalResult(HcsContractLegalResultDTO param) {
|
||||||
// 来源系统校验:仅接受合规方约定的 WCCK,防伪造回传
|
// 来源系统校验:仅接受合规方约定的 ,防伪造回传
|
||||||
if (!LEGAL_CALLBACK_SRC_SYSTEM.equalsIgnoreCase(param == null ? null : param.getSourceSystem())) {
|
if (!StrUtil.equalsIgnoreCase(param == null ? null : param.getSourceSystem(), hcsProperties.getSrcSystem())) {
|
||||||
log.warn("合同特批结果推送来源系统标识错误:sourceSystem={}", param == null ? null : param.getSourceSystem());
|
log.warn("合同特批结果推送来源系统标识错误:sourceSystem={}", param == null ? null : param.getSourceSystem());
|
||||||
throw new ServiceException("来源系统标识错误");
|
throw new ServiceException("来源系统标识错误");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user