Merge remote-tracking branch 'origin/master'

This commit is contained in:
yjz
2024-08-09 16:36:41 +08:00
3 changed files with 25 additions and 8 deletions
@@ -267,12 +267,20 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
if ("PENDING".equals(instanceDto.getTaskStatus())) { if ("PENDING".equals(instanceDto.getTaskStatus())) {
BotApprovalMessageDto botApprovalMessageDto = buildBotApprovalMessageDto(instanceDto, approvalsInstanceVo); BotApprovalMessageDto botApprovalMessageDto = buildBotApprovalMessageDto(instanceDto, approvalsInstanceVo);
String msgId = sendApprovalMessageByBot(botApprovalMessageDto); String msgId = sendApprovalMessageByBot(botApprovalMessageDto);
String taskIds = instanceDto.getTaskIds();
if (taskIds.contains("_")) {
taskIds = taskIds.substring(0, taskIds.indexOf("_"));
}
// 将msgId存入审核记录表 // 将msgId存入审核记录表
LambdaUpdateWrapper<ProcessApprovalRecord> lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<ProcessApprovalRecord> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId, instanceDto.getTaskIds()).or() lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId, taskIds);
.eq(ProcessApprovalRecord::getTransferTaskId, instanceDto.getTaskIds()); lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId, msgId);
lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId,msgId);
processApprovalRecordService.update(lambdaUpdateWrapper); processApprovalRecordService.update(lambdaUpdateWrapper);
}else {
ApprovalsUpdateMessageVo approvalsUpdateMessageVo = new ApprovalsUpdateMessageVo();
approvalsUpdateMessageVo.setMessage_id(feishuMsgId);
approvalsUpdateMessageVo.setStatus(taskStatus);
updateBotMessage(approvalsUpdateMessageVo);
} }
}else { }else {
// 如果该条审核记录有飞书id ,说明是同步已办,进行审核消息状态的更新 // 如果该条审核记录有飞书id ,说明是同步已办,进行审核消息状态的更新
@@ -158,10 +158,12 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService {
} }
instanceDto.setInstanceStatus(instanceStatus); instanceDto.setInstanceStatus(instanceStatus);
instanceDto.setTaskStatus(status); instanceDto.setTaskStatus(status);
String taskIdToUse = StringUtils.isNotBlank(transferTaskId) ? transferTaskId : taskId;
String taskIdToUseProcessed = StringUtils.contains(taskIdToUse, "_") ? taskIdToUse.substring(0, taskIdToUse.indexOf("_")) : taskIdToUse;
String url = promoterPcLink String url = promoterPcLink
.replace("{projectId}",projectId) .replace("{projectId}",projectId)
.replace("{taskName}",processApprovalRecord.getTaskName()) .replace("{taskName}",processApprovalRecord.getTaskName())
.replace("{taskId}", StringUtils.isBlank(transferTaskId) ? taskId : transferTaskId) .replace("{taskId}", taskIdToUseProcessed) // 使用处理后的 taskId
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId()) .replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
.replace("{nodeId}",processApprovalRecord.getNodeId()); .replace("{nodeId}",processApprovalRecord.getNodeId());
// 跳转链接 // 跳转链接
@@ -171,7 +173,7 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService {
String appUrl = reviewPcLink String appUrl = reviewPcLink
.replace("{projectId}",projectId) .replace("{projectId}",projectId)
.replace("{taskName}",processApprovalRecord.getTaskName()) .replace("{taskName}",processApprovalRecord.getTaskName())
.replace("{taskId}", StringUtils.isBlank(transferTaskId) ? taskId : transferTaskId) .replace("{taskId}", taskIdToUseProcessed) // 使用处理后的 taskId
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId()) .replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
.replace("{nodeId}",processApprovalRecord.getNodeId()); .replace("{nodeId}",processApprovalRecord.getNodeId());
String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))); String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
@@ -211,9 +211,16 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
taskService.setAssignee(taskId, toUserId); taskService.setAssignee(taskId, toUserId);
String userId = processApprovalRecord.getUserId(); String userId = processApprovalRecord.getUserId();
processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人 // processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人
processApprovalRecord.setUserId(toUserId); // 任务处理人 // processApprovalRecord.setUserId(toUserId); // 任务处理人
processApprovalRecordService.updateById(processApprovalRecord); // processApprovalRecordService.updateById(processApprovalRecord);
// 构建更新 wrapper
LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ProcessApprovalRecord::getId, processApprovalRecord.getId());
updateWrapper.set(ProcessApprovalRecord::getTransferBy, CurrentUserUtil.getId());
updateWrapper.set(ProcessApprovalRecord::getUserId, toUserId);
processApprovalRecordService.update(updateWrapper);
WorkCenterService classByValue = null; WorkCenterService classByValue = null;
try { try {
Object o = Class.forName(ProcessTypeEnum.getClassByValue(prcType)).newInstance(); Object o = Class.forName(ProcessTypeEnum.getClassByValue(prcType)).newInstance();