diff --git a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java index 52440cf9..6da0d320 100644 --- a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java @@ -219,6 +219,22 @@ public class NodeServiceImpl extends ServiceImpl managerPermissions = new HashMap<>(); + // 2026-02-02 项目创建人对项目文件夹只有预览权限,项目经理(仿真专项代表)对项目文件夹有所有权限 + managerPermissions.put(userId, FilePermissionEnum.READ.getValue()); + for (String manager : memberList) { + managerPermissions.put(Long.valueOf(manager), FilePermissionEnum.ALL.getValue()); + } + managerItem.setUserPermissions(managerPermissions); + filePermissions.add(managerItem); + } }else { // 这里要兼容单独只创建阶段的逻辑,需要反查出项目经理并设置权限 SpdmProjectNodeEditReq phaseNode = addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).findFirst().orElse(null); @@ -226,31 +242,19 @@ public class NodeServiceImpl extends ServiceImpl managerList = nodeMapper.getNodeMemberListByNodeIdList(Collections.singletonList(phaseNode.getParentId())); if (CollectionUtils.isNotEmpty(managerList)) { memberList = managerList.stream().map(manager -> String.valueOf(manager.getUserId())).toList(); + BatchUpdatePermissionReq.FilePermissionItem managerItem = new BatchUpdatePermissionReq.FilePermissionItem(); + managerItem.setUuid(phaseNode.getUuid()); + Map managerPermissions = new HashMap<>(); + managerPermissions.put(userId, FilePermissionEnum.READ.getValue()); + for (String manager : memberList) { + managerPermissions.put(Long.valueOf(manager), FilePermissionEnum.ALL.getValue()); + } + managerItem.setUserPermissions(managerPermissions); + filePermissions.add(managerItem); } } } - for (SpdmProjectNodeEditReq addNode : addNodeList) { - BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); - item.setUuid(addNode.getUuid()); - Map userPermissions = new HashMap<>(); - // 2026-02-02 项目创建人对项目文件夹只有预览权限,项目经理(仿真专项代表)对项目文件夹有所有权限 - userPermissions.put(userId, FilePermissionEnum.READ.getValue()); - item.setUserPermissions(userPermissions); - filePermissions.add(item); - if (CollectionUtils.isEmpty(memberList)) { - continue; - } - // 项目经理 - BatchUpdatePermissionReq.FilePermissionItem managerItem = new BatchUpdatePermissionReq.FilePermissionItem(); - managerItem.setUuid(addNode.getUuid()); - for (String manager : memberList) { - Map managerPermissions = new HashMap<>(); - // 2026-02-02 项目创建人对项目文件夹只有预览权限,项目经理(仿真专项代表)对项目文件夹有所有权限 - managerPermissions.put(Long.valueOf(manager), FilePermissionEnum.ALL.getValue()); - managerItem.setUserPermissions(managerPermissions); - filePermissions.add(managerItem); - } - } + if (CollectionUtils.isNotEmpty(filePermissions)) { BatchUpdatePermissionReq batchReq = new BatchUpdatePermissionReq(); batchReq.setFilePermissions(filePermissions);