From be81560267dc336f9976f2e4bb34024195c053f7 Mon Sep 17 00:00:00 2001 From: sunzheng Date: Fri, 9 Aug 2024 16:35:39 +0800 Subject: [PATCH] =?UTF-8?q?update:=E4=BF=AE=E6=94=B9=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E8=BD=AC=E5=8A=9E=E7=9A=84=E6=B6=88=E6=81=AF=E5=9C=A8=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=90=8E=E7=8A=B6=E6=80=81=E4=B8=8D=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FeiShuDockingServiceImpl.java | 14 +++++++++++--- .../hiwork/service/impl/SendFeiShuServiceImpl.java | 6 ++++-- .../fb/service/impl/ProcessHandleServiceImpl.java | 13 ++++++++++--- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java index 00e8edd6..6dfc751d 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java @@ -267,12 +267,20 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService { if ("PENDING".equals(instanceDto.getTaskStatus())) { BotApprovalMessageDto botApprovalMessageDto = buildBotApprovalMessageDto(instanceDto, approvalsInstanceVo); String msgId = sendApprovalMessageByBot(botApprovalMessageDto); + String taskIds = instanceDto.getTaskIds(); + if (taskIds.contains("_")) { + taskIds = taskIds.substring(0, taskIds.indexOf("_")); + } // 将msgId存入审核记录表 LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); - lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId, instanceDto.getTaskIds()).or() - .eq(ProcessApprovalRecord::getTransferTaskId, instanceDto.getTaskIds()); - lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId,msgId); + lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId, taskIds); + lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId, msgId); processApprovalRecordService.update(lambdaUpdateWrapper); + }else { + ApprovalsUpdateMessageVo approvalsUpdateMessageVo = new ApprovalsUpdateMessageVo(); + approvalsUpdateMessageVo.setMessage_id(feishuMsgId); + approvalsUpdateMessageVo.setStatus(taskStatus); + updateBotMessage(approvalsUpdateMessageVo); } }else { // 如果该条审核记录有飞书id ,说明是同步已办,进行审核消息状态的更新 diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java index 5420b0f7..8b823f9f 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendFeiShuServiceImpl.java @@ -158,10 +158,12 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService { } instanceDto.setInstanceStatus(instanceStatus); instanceDto.setTaskStatus(status); + String taskIdToUse = StringUtils.isNotBlank(transferTaskId) ? transferTaskId : taskId; + String taskIdToUseProcessed = StringUtils.contains(taskIdToUse, "_") ? taskIdToUse.substring(0, taskIdToUse.indexOf("_")) : taskIdToUse; String url = promoterPcLink .replace("{projectId}",projectId) .replace("{taskName}",processApprovalRecord.getTaskName()) - .replace("{taskId}", StringUtils.isBlank(transferTaskId) ? taskId : transferTaskId) + .replace("{taskId}", taskIdToUseProcessed) // 使用处理后的 taskId .replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId()) .replace("{nodeId}",processApprovalRecord.getNodeId()); // 跳转链接 @@ -171,7 +173,7 @@ public class SendFeiShuServiceImpl implements ISendFeiShuService { String appUrl = reviewPcLink .replace("{projectId}",projectId) .replace("{taskName}",processApprovalRecord.getTaskName()) - .replace("{taskId}", StringUtils.isBlank(transferTaskId) ? taskId : transferTaskId) + .replace("{taskId}", taskIdToUseProcessed) // 使用处理后的 taskId .replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId()) .replace("{nodeId}",processApprovalRecord.getNodeId()); String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index 1a65c300..52769fca 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -211,9 +211,16 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { taskService.setAssignee(taskId, toUserId); String userId = processApprovalRecord.getUserId(); - processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人 - processApprovalRecord.setUserId(toUserId); // 任务处理人 - processApprovalRecordService.updateById(processApprovalRecord); +// processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人 +// processApprovalRecord.setUserId(toUserId); // 任务处理人 +// processApprovalRecordService.updateById(processApprovalRecord); + + // 构建更新 wrapper + LambdaUpdateWrapper 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; try { Object o = Class.forName(ProcessTypeEnum.getClassByValue(prcType)).newInstance();