1、新增项目时,调整设置项目经理权限的逻辑
This commit is contained in:
@@ -219,6 +219,22 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
if (StringUtils.isNotBlank(projectNode.getMemberList())) {
|
||||
memberList = Arrays.stream(projectNode.getMemberList().split(",")).toList();
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjectUtils.isNotEmpty(projectNode)) {
|
||||
if (CollectionUtils.isNotEmpty(memberList)) {
|
||||
// 项目经理
|
||||
BatchUpdatePermissionReq.FilePermissionItem managerItem = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
managerItem.setUuid(projectNode.getUuid());
|
||||
Map<Long, Byte> 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<SimulationNodeMapper, Simulatio
|
||||
List<SpdmNodeMemberVo> managerList = nodeMapper.getNodeMemberListByNodeIdList(Collections.singletonList(phaseNode.getParentId()));
|
||||
if (CollectionUtils.isNotEmpty(managerList)) {
|
||||
memberList = managerList.stream().map(manager -> String.valueOf(manager.getUserId())).toList();
|
||||
}
|
||||
}
|
||||
}
|
||||
for (SpdmProjectNodeEditReq addNode : addNodeList) {
|
||||
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
item.setUuid(addNode.getUuid());
|
||||
Map<Long, Byte> 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) {
|
||||
managerItem.setUuid(phaseNode.getUuid());
|
||||
Map<Long, Byte> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(filePermissions)) {
|
||||
BatchUpdatePermissionReq batchReq = new BatchUpdatePermissionReq();
|
||||
batchReq.setFilePermissions(filePermissions);
|
||||
|
||||
Reference in New Issue
Block a user