1、新增项目时,调整设置项目经理权限的逻辑
This commit is contained in:
@@ -219,6 +219,22 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
|||||||
if (StringUtils.isNotBlank(projectNode.getMemberList())) {
|
if (StringUtils.isNotBlank(projectNode.getMemberList())) {
|
||||||
memberList = Arrays.stream(projectNode.getMemberList().split(",")).toList();
|
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 {
|
}else {
|
||||||
// 这里要兼容单独只创建阶段的逻辑,需要反查出项目经理并设置权限
|
// 这里要兼容单独只创建阶段的逻辑,需要反查出项目经理并设置权限
|
||||||
SpdmProjectNodeEditReq phaseNode = addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).findFirst().orElse(null);
|
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()));
|
List<SpdmNodeMemberVo> managerList = nodeMapper.getNodeMemberListByNodeIdList(Collections.singletonList(phaseNode.getParentId()));
|
||||||
if (CollectionUtils.isNotEmpty(managerList)) {
|
if (CollectionUtils.isNotEmpty(managerList)) {
|
||||||
memberList = managerList.stream().map(manager -> String.valueOf(manager.getUserId())).toList();
|
memberList = managerList.stream().map(manager -> String.valueOf(manager.getUserId())).toList();
|
||||||
|
BatchUpdatePermissionReq.FilePermissionItem managerItem = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||||
|
managerItem.setUuid(phaseNode.getUuid());
|
||||||
|
Map<Long, Byte> 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<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) {
|
|
||||||
Map<Long, Byte> managerPermissions = new HashMap<>();
|
|
||||||
// 2026-02-02 项目创建人对项目文件夹只有预览权限,项目经理(仿真专项代表)对项目文件夹有所有权限
|
|
||||||
managerPermissions.put(Long.valueOf(manager), FilePermissionEnum.ALL.getValue());
|
|
||||||
managerItem.setUserPermissions(managerPermissions);
|
|
||||||
filePermissions.add(managerItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CollectionUtils.isNotEmpty(filePermissions)) {
|
if (CollectionUtils.isNotEmpty(filePermissions)) {
|
||||||
BatchUpdatePermissionReq batchReq = new BatchUpdatePermissionReq();
|
BatchUpdatePermissionReq batchReq = new BatchUpdatePermissionReq();
|
||||||
batchReq.setFilePermissions(filePermissions);
|
batchReq.setFilePermissions(filePermissions);
|
||||||
|
|||||||
Reference in New Issue
Block a user