:feat: HCS操作人登录名配置化统一取值,模板映射改括号记法修复中文键绑定失败
This commit is contained in:
+1
-1
@@ -242,7 +242,7 @@ public class HcsSyncController {
|
||||
return ref;
|
||||
})
|
||||
.toList();
|
||||
return R.data(hcsContractSpecSyncSupport.applySpec(contractId, attachments, AuthUtil.getUserAccount()));
|
||||
return R.data(hcsContractSpecSyncSupport.applySpec(contractId, attachments));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+3
-4
@@ -88,17 +88,16 @@ public class HcsContractSpecSyncSupport {
|
||||
*
|
||||
* @param contractId 合同ID
|
||||
* @param attachments 特批附件引用(fdId=C103-2 合规附件ID,fdFileName=文件名)
|
||||
* @param loginName 当前操作人登录名
|
||||
* @return 结果描述
|
||||
*/
|
||||
public String applySpec(Long contractId, List<HcsAttachmentRefDTO> attachments, String loginName) {
|
||||
public String applySpec(Long contractId, List<HcsAttachmentRefDTO> attachments) {
|
||||
ContractManage contractManage = requireAppliableContract(contractId);
|
||||
if (attachments == null || attachments.isEmpty()) {
|
||||
throw new ServiceException("请先上传特批申请材料(含内部审批流程附件)");
|
||||
}
|
||||
HcsSpecContractSaveDTO param = new HcsSpecContractSaveDTO();
|
||||
// 【必填】操作人登录名:当前登录人(§9-U2)
|
||||
param.setFdLoginName(loginName);
|
||||
// 【必填】操作人登录名:配置 thirdParty.hcs.operator-login-name(默认 srvadmin,§9-U2)
|
||||
param.setFdLoginName(hcsProperties.getOperatorLoginName());
|
||||
// 【必填】合规合同ID:blade_contract_manage.hcs_fd_id(非名称,照 C106-3 fd_contract_name 惯例)
|
||||
param.setFdContractId(requireContractFdId(contractManage));
|
||||
// 【必填】合同编号
|
||||
|
||||
+2
-18
@@ -36,8 +36,6 @@ import org.springblade.hcs.dto.HcsExeplanVO;
|
||||
import org.springblade.hcs.dto.HcsResult;
|
||||
import org.springblade.hcs.exception.HcsException;
|
||||
import org.springblade.hcs.feign.IHcsClient;
|
||||
import org.springblade.system.cache.UserCache;
|
||||
import org.springblade.system.pojo.entity.User;
|
||||
import org.springblade.transport.constant.HcsSyncConstant;
|
||||
import org.springblade.transport.mapper.ContractManageMapper;
|
||||
import org.springblade.transport.mapper.HcsContractExeStageMapper;
|
||||
@@ -116,8 +114,8 @@ public class HcsExeStageSyncSupport {
|
||||
param.setFdContractId(contractManage.getHcsFdId());
|
||||
// 【必填】外部系统标识:fd_sources,配置 thirdParty.hcs.src-system(D14)
|
||||
param.setFdOuterSystem(hcsProperties.getSrcSystem());
|
||||
// 【必填】操作人登录名:合同承办人登录名(§9-U2)
|
||||
param.setFdLoginName(requireLoginName(contractManage));
|
||||
// 【必填】操作人登录名:配置 thirdParty.hcs.operator-login-name(默认 srvadmin,§9-U2)
|
||||
param.setFdLoginName(hcsProperties.getOperatorLoginName());
|
||||
// 【必填】计划整体操作类型:首次同步 add,已同步过(有履约计划ID)update
|
||||
param.setFdEopExeplanOperateType(StringUtil.isBlank(contractManage.getHcsExeplanId()) ? "add" : "update");
|
||||
// 履约计划ID:已同步过则传(回填自首次同步返回)
|
||||
@@ -248,20 +246,6 @@ public class HcsExeStageSyncSupport {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 合同承办人登录名(fdLoginName 必填)
|
||||
*/
|
||||
private String requireLoginName(ContractManage contractManage) {
|
||||
if (contractManage.getHandlerUserId() == null) {
|
||||
throw new HcsException("C103-9 履约规则同步失败,合同承办人未维护(contractNo=" + contractManage.getContractNo() + ")");
|
||||
}
|
||||
User user = UserCache.getUser(contractManage.getHandlerUserId());
|
||||
if (user == null || StringUtil.isBlank(user.getAccount())) {
|
||||
throw new HcsException("C103-9 履约规则同步失败,承办人登录名解析不到(§9-U2)");
|
||||
}
|
||||
return user.getAccount();
|
||||
}
|
||||
|
||||
/**
|
||||
* LocalDateTime → 毫秒时间戳
|
||||
*/
|
||||
|
||||
+2
-2
@@ -196,7 +196,7 @@ public class HcsPaymentSyncSupport {
|
||||
payment.setHcsSyncStatus(HcsSyncConstant.HCS_STATUS_SYNCED);
|
||||
payment.setHcsRetryCount(0);
|
||||
payment.setHcsSyncTime(LocalDateTime.now());
|
||||
payment.setHcsSyncMsg(message);
|
||||
payment.setHcsSyncMsg(HcsSyncConstant.truncateMsg(message));
|
||||
paymentApplicationMapper.updateById(payment);
|
||||
log.info("HCS付款申请推送成功:paymentNo={},{}", payment.getPaymentNo(), message);
|
||||
}
|
||||
@@ -208,7 +208,7 @@ public class HcsPaymentSyncSupport {
|
||||
payment.setHcsSyncStatus(HcsSyncConstant.HCS_STATUS_FAILED);
|
||||
payment.setHcsRetryCount(payment.getHcsRetryCount() == null ? 1 : payment.getHcsRetryCount() + 1);
|
||||
payment.setHcsSyncTime(LocalDateTime.now());
|
||||
payment.setHcsSyncMsg(message);
|
||||
payment.setHcsSyncMsg(HcsSyncConstant.truncateMsg(message));
|
||||
paymentApplicationMapper.updateById(payment);
|
||||
log.error("HCS付款申请推送失败:paymentNo={},retryCount={},{}", payment.getPaymentNo(), payment.getHcsRetryCount(), message);
|
||||
}
|
||||
|
||||
+5
-12
@@ -271,7 +271,7 @@ public class HcsProjectSyncSupport {
|
||||
projectApply.setHcsSyncStatus(HcsSyncConstant.HCS_STATUS_SYNCED);
|
||||
projectApply.setHcsRetryCount(0);
|
||||
projectApply.setHcsSyncTime(LocalDateTime.now());
|
||||
projectApply.setHcsSyncMsg(message);
|
||||
projectApply.setHcsSyncMsg(HcsSyncConstant.truncateMsg(message));
|
||||
projectApplyMapper.updateById(projectApply);
|
||||
log.info("HCS项目立项推送成功:projectCode={},fdId={},{}", projectApply.getProjectCode(), fdId, message);
|
||||
}
|
||||
@@ -283,7 +283,7 @@ public class HcsProjectSyncSupport {
|
||||
projectApply.setHcsSyncStatus(HcsSyncConstant.HCS_STATUS_FAILED);
|
||||
projectApply.setHcsRetryCount(projectApply.getHcsRetryCount() == null ? 1 : projectApply.getHcsRetryCount() + 1);
|
||||
projectApply.setHcsSyncTime(LocalDateTime.now());
|
||||
projectApply.setHcsSyncMsg(message);
|
||||
projectApply.setHcsSyncMsg(HcsSyncConstant.truncateMsg(message));
|
||||
projectApplyMapper.updateById(projectApply);
|
||||
log.error("HCS项目立项推送失败:projectCode={},retryCount={},{}", projectApply.getProjectCode(), projectApply.getHcsRetryCount(), message);
|
||||
}
|
||||
@@ -300,10 +300,9 @@ public class HcsProjectSyncSupport {
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目经办人登录名(curUser 必填)
|
||||
* 操作人登录名(curUser/fd_head/fd_taker/fd_creator 统一取配置,§9-U2)
|
||||
*/
|
||||
private String requireLoginName(ProjectApply projectApply, String scene) {
|
||||
// TODO 测试线联调:登录名固定取 srvadmin,联调通过后恢复经办人解析与校验
|
||||
return resolveLoginName(projectApply.getHandlerUserId());
|
||||
}
|
||||
|
||||
@@ -316,16 +315,10 @@ public class HcsProjectSyncSupport {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按用户ID 解析登录名(UserCache 惯例)
|
||||
* 操作人登录名(thirdParty.hcs.operator-login-name,默认 srvadmin)
|
||||
*/
|
||||
private String resolveLoginName(Long userId) {
|
||||
// TODO 测试线联调:登录名固定取 srvadmin(curUser/fd_head/fd_taker/fd_creator 统一生效),联调通过后恢复按 UserCache 解析
|
||||
return "srvadmin";
|
||||
/*if (userId == null) {
|
||||
return null;
|
||||
}
|
||||
User user = UserCache.getUser(userId);
|
||||
return user == null ? null : user.getAccount();*/
|
||||
return hcsProperties.getOperatorLoginName();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user