fix:需求任务权限优化

This commit is contained in:
2026-02-02 17:47:13 +08:00
parent e5fdc32c9e
commit 30e4f87fa7

View File

@@ -689,20 +689,10 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
taskMemberNode.setType(MemberTypeEnum.PRINCIPAL.getCode());
projectNodeMemberList.add(taskMemberNode);
// 更新任务仿真负责人对任务文件夹的权限
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(task.getUuid());
Map<Long, Byte> userPermissions = new HashMap<>();
userPermissions.put(Long.valueOf(userId), FilePermissionEnum.ALL.getValue());
item.setUserPermissions(userPermissions);
filePermissions.add(item);
filePermissions.add(buildFilePermissionItem(task.getUuid(), Long.valueOf(userId), FilePermissionEnum.ALL));
// 更新任务仿真负责人对关联的需求文件夹权限
BatchUpdatePermissionReq.FilePermissionItem item1 = new BatchUpdatePermissionReq.FilePermissionItem();
item1.setUuid(demandId);
Map<Long, Byte> userPermissions1 = new HashMap<>();
userPermissions1.put(Long.valueOf(userId), FilePermissionEnum.BASE.getValue());
item1.setUserPermissions(userPermissions1);
filePermissions.add(item1);
filePermissions.add(buildFilePermissionItem(demandId, Long.valueOf(userId), FilePermissionEnum.BASE));
}
}
if (StringUtils.isNotBlank(eUserIdStr)) {
@@ -717,29 +707,20 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
// 发送消息通知
sendMessage(MessageTemplateEnum.TASK_ISSUE, task.getNodeName(), userId, task.getUuid());
// 更新任务仿真执行人对任务文件夹权限
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(task.getUuid());
Map<Long, Byte> userPermissions = new HashMap<>();
userPermissions.put(Long.valueOf(userId), FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue());
item.setUserPermissions(userPermissions);
filePermissions.add(item);
filePermissions.add(buildFilePermissionItem(task.getUuid(), Long.valueOf(userId), FilePermissionEnum.ALL_EXCLUDE_DELETE));
// 更新任务仿真执行人对关联的需求文件夹权限
BatchUpdatePermissionReq.FilePermissionItem item1 = new BatchUpdatePermissionReq.FilePermissionItem();
item1.setUuid(demandId);
Map<Long, Byte> userPermissions1 = new HashMap<>();
userPermissions1.put(Long.valueOf(userId), FilePermissionEnum.BASE.getValue());
item1.setUserPermissions(userPermissions1);
filePermissions.add(item1);
filePermissions.add(buildFilePermissionItem(demandId, Long.valueOf(userId), FilePermissionEnum.BASE));
}
}
// 更新需求创建人对任务文件夹的权限
BatchUpdatePermissionReq.FilePermissionItem demandItem = new BatchUpdatePermissionReq.FilePermissionItem();
demandItem.setUuid(task.getUuid());
Map<Long, Byte> demandUserPermissions = new HashMap<>();
demandUserPermissions.put(demandCreator, FilePermissionEnum.BASE.getValue());
demandItem.setUserPermissions(demandUserPermissions);
filePermissions.add(demandItem);
filePermissions.add(buildFilePermissionItem(task.getUuid(), demandCreator, FilePermissionEnum.BASE));
// 更新任务创建人对任务文件夹的权限
filePermissions.add(buildFilePermissionItem(task.getUuid(), jobNumber, FilePermissionEnum.READ));
// 更新任务创建人对需求文件夹的权限
filePermissions.add(buildFilePermissionItem(demandId, jobNumber, FilePermissionEnum.READ));
List<TaskExtraNode> extraList = task.getExtras();
if (CollectionUtils.isNotEmpty(extraList)) {
@@ -893,6 +874,15 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
return response;
}
private BatchUpdatePermissionReq.FilePermissionItem buildFilePermissionItem(String uuid, Long userId, FilePermissionEnum filePermissionEnum) {
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(uuid);
Map<Long, Byte> userPermissions = new HashMap<>();
userPermissions.put(userId, filePermissionEnum.getValue());
item.setUserPermissions(userPermissions);
return item;
}
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String userId, String uuid) {
SendMsgReq req = new SendMsgReq();
req.setTitle(templateEnum.getTitle());