From b3cf96c134d3f187030fdb484d56f792c1971ff0 Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Fri, 6 Feb 2026 18:33:41 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81bug=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SimulationLyricNodeController.java | 6 ++++ .../service/ILyricInternalService.java | 1 + .../service/impl/DemandServiceImpl.java | 32 ++++++++++++++++++- .../impl/LyricInternalServiceImpl.java | 10 ++++++ .../project/service/impl/TaskServiceImpl.java | 8 ++--- 5 files changed, 52 insertions(+), 5 deletions(-) diff --git a/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java b/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java index a439a7e4..c42ccb82 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java @@ -49,6 +49,12 @@ public class SimulationLyricNodeController { return lyricInternalService.getTodoList("http"); } + @GetMapping("/optimisedGetTodoList") + @Operation(summary = "获取待办列表(优化版)", description = "获取待办列表(优化版)") + public SdmResponse optimisedGetTodoList() { + return lyricInternalService.optimisedGetTodoList("http"); + } + @GetMapping("/getProjectList") @Operation(summary = "获取项目列表", description = "获取项目列表") public SdmResponse getProjectList() { diff --git a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java index 141b3797..d05fe595 100644 --- a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java +++ b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java @@ -52,4 +52,5 @@ public interface ILyricInternalService { SdmResponse listNoPermission(SpdmNodeListReq req); + SdmResponse optimisedGetTodoList(String http); } diff --git a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java index 08b7511b..b0c795b2 100644 --- a/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/DemandServiceImpl.java @@ -283,7 +283,21 @@ public class DemandServiceImpl extends BaseService implements IDemandService { userPermissions.put(member.getUserId(), FilePermissionEnum.BASE.getValue()); }); } - updatePermissionReq.setUserPermissions(userPermissions); + // 仿真负责人还需要对选择的节点有创建和预览权限 + UpdatePermissionReq updateNodePermissionReq = new UpdatePermissionReq(); + updateNodePermissionReq.setUuid(req.getWorkspaceId()); + Map userForNodePermissions = new HashMap<>(); + if (StringUtils.isNotBlank(pMemberList)) { + String[] pMemberArray = pMemberList.split(","); + for (String pUserId : pMemberArray) { + userForNodePermissions.put(Long.valueOf(pUserId), FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue()); + } + updateNodePermissionReq.setUserPermissions(userForNodePermissions); + log.info("创建需求时,更新需求仿真负责人(确认人)工位节点权限的参数为:{}",updateNodePermissionReq); + SdmResponse updateNodePermissionResponse = dataFeignClient.updatePermission(updateNodePermissionReq); + log.info("创建需求时,更新需求仿真负责人(确认人)工位节点权限的返回值为:{}",updateNodePermissionResponse); + } + log.info("创建需求时,更新需求创建人和需求仿真负责人(确认人)权限的参数为:{}",updatePermissionReq); SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq); log.info("创建需求时,更新需求创建人和需求仿真负责人(确认人)权限的返回值为:{}",updatePermissionResponse); @@ -1384,6 +1398,22 @@ public class DemandServiceImpl extends BaseService implements IDemandService { userPermissions.put(member.getUserId(), FilePermissionEnum.BASE.getValue()); }); } + + // 仿真负责人还需要对选择的节点有创建和预览权限 + UpdatePermissionReq updateNodePermissionReq = new UpdatePermissionReq(); + updateNodePermissionReq.setUuid(req.getWorkspaceId()); + Map userForNodePermissions = new HashMap<>(); + if (StringUtils.isNotBlank(pMemberList)) { + String[] pMemberArray = pMemberList.split(","); + for (String pUserId : pMemberArray) { + userForNodePermissions.put(Long.valueOf(pUserId), FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue()); + } + updateNodePermissionReq.setUserPermissions(userForNodePermissions); + log.info("创建需求时,更新需求仿真负责人(确认人)工位节点权限的参数为:{}",updateNodePermissionReq); + SdmResponse updateNodePermissionResponse = dataFeignClient.updatePermission(updateNodePermissionReq); + log.info("创建需求时,更新需求仿真负责人(确认人)工位节点权限的返回值为:{}",updateNodePermissionResponse); + } + updatePermissionReq.setUserPermissions(userPermissions); log.info("创建需求时(无权限校验),更新需求创建人和需求仿真负责人(确认人)权限的参数为:{}",updatePermissionReq); SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq); diff --git a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java index df1fabe4..f5b35da2 100644 --- a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java @@ -2059,6 +2059,16 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return SdmResponse.success(jsonObject); } + @Override + public SdmResponse optimisedGetTodoList(String http) { + + // 先查询系统内所有待办 + + + + return null; + } + private SdmResponse httpSyncTodoData( List projectNodeList,List todoInfoList){ String traceId = MdcUtil.getTraceId(); CompletableFuture syncTodoDataFeature = CompletableFuture.supplyAsync(() -> diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java index c5f68da3..404eac50 100644 --- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java @@ -3955,10 +3955,6 @@ public class TaskServiceImpl implements ITaskService { return SdmResponse.failed("编辑仿真执行人失败"); } } - // 发送消息通知 - newUserIdList.forEach(i -> { - sendMessage(MessageTemplateEnum.TASK_ISSUE, req.getNodeName(), String.valueOf(i), taskId); - }); List filePermissions = new ArrayList<>(); BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); item.setUuid(task.getUuid()); @@ -4066,6 +4062,10 @@ public class TaskServiceImpl implements ITaskService { } } batchUpdatePermission(filePermissions); + // 发送消息通知 + newUserIdList.forEach(i -> { + sendMessage(MessageTemplateEnum.TASK_ISSUE, req.getNodeName(), String.valueOf(i), taskId); + }); } return SdmResponse.success(); }