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 f2c68a0f..bf5e9b18 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 @@ -748,6 +748,19 @@ public class DemandServiceImpl extends BaseService implements IDemandService { String eUserIdStr = task.getEMemberList(); log.info("下发的仿真负责人为:{}", pUserIdStr); log.info("下发的仿真执行人为:{}", eUserIdStr); + + BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); + item.setUuid(task.getUuid()); + Map userPermissions = new HashMap<>(); + item.setUserPermissions(userPermissions); + filePermissions.add(item); + + BatchUpdatePermissionReq.FilePermissionItem demandItem = new BatchUpdatePermissionReq.FilePermissionItem(); + demandItem.setUuid(demandId); + Map demandUserPermissions = new HashMap<>(); + demandItem.setUserPermissions(demandUserPermissions); + filePermissions.add(demandItem); + if (StringUtils.isNotBlank(pUserIdStr)) { String[] userIdArr = pUserIdStr.split(","); for (String userId : userIdArr) { @@ -758,10 +771,10 @@ public class DemandServiceImpl extends BaseService implements IDemandService { taskMemberNode.setType(MemberTypeEnum.PRINCIPAL.getCode()); projectNodeMemberList.add(taskMemberNode); // 更新任务仿真负责人对任务文件夹的权限 - filePermissions.add(buildFilePermissionItem(task.getUuid(), Long.valueOf(userId), FilePermissionEnum.ALL)); + userPermissions.put(Long.valueOf(userId), FilePermissionEnum.ALL.getValue()); // 更新任务仿真负责人对关联的需求文件夹权限 - filePermissions.add(buildFilePermissionItem(demandId, Long.valueOf(userId), FilePermissionEnum.BASE)); + demandUserPermissions.put(Long.valueOf(userId), FilePermissionEnum.BASE.getValue()); } } if (StringUtils.isNotBlank(eUserIdStr)) { @@ -776,20 +789,20 @@ public class DemandServiceImpl extends BaseService implements IDemandService { // 发送消息通知 sendMessage(MessageTemplateEnum.TASK_ISSUE, task.getNodeName(), userId, task.getUuid()); // 更新任务仿真执行人对任务文件夹权限 - filePermissions.add(buildFilePermissionItem(task.getUuid(), Long.valueOf(userId), FilePermissionEnum.ALL_EXCLUDE_DELETE)); + userPermissions.put(Long.valueOf(userId), FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue()); // 更新任务仿真执行人对关联的需求文件夹权限 - filePermissions.add(buildFilePermissionItem(demandId, Long.valueOf(userId), FilePermissionEnum.BASE)); + demandUserPermissions.put(Long.valueOf(userId), FilePermissionEnum.BASE.getValue()); } } // 更新需求创建人对任务文件夹的权限 - filePermissions.add(buildFilePermissionItem(task.getUuid(), demandCreator, FilePermissionEnum.BASE)); + userPermissions.put(demandCreator, FilePermissionEnum.BASE.getValue()); // 更新任务创建人对任务文件夹的权限 - filePermissions.add(buildFilePermissionItem(task.getUuid(), jobNumber, FilePermissionEnum.READ)); + userPermissions.put(jobNumber, FilePermissionEnum.READ.getValue()); // 更新任务创建人对需求文件夹的权限 - filePermissions.add(buildFilePermissionItem(demandId, jobNumber, FilePermissionEnum.READ)); + demandUserPermissions.put(jobNumber, FilePermissionEnum.READ.getValue()); List extraList = task.getExtras(); if (CollectionUtils.isNotEmpty(extraList)) { diff --git a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java index c4bc1dd0..6ab07a54 100644 --- a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java @@ -2038,19 +2038,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { } log.info("taskNodeMemberList为:{}",taskNodeMemberList); if (CollectionUtils.isNotEmpty(taskNodeMemberList)) { - List filePermissions = new ArrayList<>(); - for (TaskMemberNode taskMemberNode : taskNodeMemberList) { - BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); - item.setUuid(taskMemberNode.getTaskId()); - - Map userPermissions = new HashMap<>(); - userPermissions.put(Long.valueOf(taskMemberNode.getUserId()), MemberTypeEnum.EXECUTOR.getCode().equals(taskMemberNode.getType()) ? FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue() : FilePermissionEnum.ALL.getValue()); - item.setUserPermissions(userPermissions); - - filePermissions.add(item); + updatePermission(Long.valueOf(taskMemberNode.getUserId()),taskMemberNode.getTaskId(),MemberTypeEnum.EXECUTOR.getCode().equals(taskMemberNode.getType()) ? FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue() : FilePermissionEnum.ALL.getValue()); } - batchUpdatePermission(filePermissions); } if (CollectionUtils.isNotEmpty(projectNodePerformanceList)) { projectNodePerformanceList.forEach(projectNode -> { 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 9c913441..9d8bea7d 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 @@ -1426,28 +1426,29 @@ public class TaskServiceImpl implements ITaskService { }); List filePermissions = new ArrayList<>(); + BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); + item.setUuid(task.getUuid()); + Map userPermissions = new HashMap<>(); // 保存当前的仿真执行人权限 for (Long currentUserId : currentUserIdList) { - BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); - item.setUuid(task.getUuid()); - Map userPermissions = new HashMap<>(); userPermissions.put(currentUserId, FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue()); - item.setUserPermissions(userPermissions); - filePermissions.add(item); } + item.setUserPermissions(userPermissions); + filePermissions.add(item); + // 设置任务执行人对关联的需求文件夹设置权限 if (StringUtils.isNotEmpty(task.getDemandId())) { List demandVoList = demandMapper.getDemandListById(Collections.singletonList(task.getDemandId())); if (CollectionUtils.isNotEmpty(demandVoList)) { SpdmDemandVo demand = demandVoList.get(0); + BatchUpdatePermissionReq.FilePermissionItem item2 = new BatchUpdatePermissionReq.FilePermissionItem(); + item2.setUuid(demand.getUuid()); + Map userPermissions2 = new HashMap<>(); for (Long currentUserId : currentUserIdList) { - BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); - item.setUuid(demand.getUuid()); - Map userPermissions = new HashMap<>(); - userPermissions.put(currentUserId, FilePermissionEnum.BASE.getValue()); - item.setUserPermissions(userPermissions); - filePermissions.add(item); + userPermissions2.put(currentUserId, FilePermissionEnum.BASE.getValue()); } + item2.setUserPermissions(userPermissions2); + filePermissions.add(item2); } } batchUpdatePermission(filePermissions); @@ -3885,28 +3886,29 @@ public class TaskServiceImpl implements ITaskService { sendMessage(MessageTemplateEnum.TASK_ISSUE, req.getNodeName(), String.valueOf(i), taskId); }); List filePermissions = new ArrayList<>(); + BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); + item.setUuid(task.getUuid()); + Map userPermissions = new HashMap<>(); // 保存当前的仿真执行人权限 for (Long currentUserId : currentUserIdList) { - BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); - item.setUuid(task.getUuid()); - Map userPermissions = new HashMap<>(); userPermissions.put(currentUserId, FilePermissionEnum.ALL_EXCLUDE_DELETE.getValue()); - item.setUserPermissions(userPermissions); - filePermissions.add(item); } + item.setUserPermissions(userPermissions); + filePermissions.add(item); + // 设置任务执行人对关联的需求文件夹设置权限 if (StringUtils.isNotEmpty(task.getDemandId())) { List demandVoList = demandMapper.getDemandListById(Collections.singletonList(task.getDemandId())); if (CollectionUtils.isNotEmpty(demandVoList)) { SpdmDemandVo demand = demandVoList.get(0); + BatchUpdatePermissionReq.FilePermissionItem item2 = new BatchUpdatePermissionReq.FilePermissionItem(); + item2.setUuid(demand.getUuid()); + Map userPermissions2 = new HashMap<>(); for (Long currentUserId : currentUserIdList) { - BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem(); - item.setUuid(demand.getUuid()); - Map userPermissions = new HashMap<>(); - userPermissions.put(currentUserId, FilePermissionEnum.BASE.getValue()); - item.setUserPermissions(userPermissions); - filePermissions.add(item); + userPermissions2.put(currentUserId, FilePermissionEnum.BASE.getValue()); } + item2.setUserPermissions(userPermissions2); + filePermissions.add(item2); } } batchUpdatePermission(filePermissions); diff --git a/system/src/main/resources/application-dev-190.yml b/system/src/main/resources/application-dev-190.yml index 3bf82738..d900d79f 100644 --- a/system/src/main/resources/application-dev-190.yml +++ b/system/src/main/resources/application-dev-190.yml @@ -200,4 +200,5 @@ security: - /tenant/list - /tenant/initNewTenant - /user/getUserByRoleCode - - /lyricUser/queryUserList \ No newline at end of file + - /lyricUser/queryUserList + - /user/listUser \ No newline at end of file diff --git a/system/src/main/resources/application-dev-65.yml b/system/src/main/resources/application-dev-65.yml index 3c63d3e8..fa34be25 100644 --- a/system/src/main/resources/application-dev-65.yml +++ b/system/src/main/resources/application-dev-65.yml @@ -200,4 +200,5 @@ security: - /tenant/list - /tenant/initNewTenant - /user/getUserByRoleCode - - /lyricUser/queryUserList \ No newline at end of file + - /lyricUser/queryUserList + - /user/listUser \ No newline at end of file diff --git a/system/src/main/resources/application-local.yml b/system/src/main/resources/application-local.yml index b9409885..5dbe4013 100644 --- a/system/src/main/resources/application-local.yml +++ b/system/src/main/resources/application-local.yml @@ -201,6 +201,7 @@ security: - /tenant/initNewTenant - /user/getUserByRoleCode - /lyricUser/queryUserList + - /user/listUser # 0单机处理,可以指向本地,1负载均衡轮询 serverType: 0 diff --git a/system/src/main/resources/application-lyric.yml b/system/src/main/resources/application-lyric.yml index b6592e65..f4752ead 100644 --- a/system/src/main/resources/application-lyric.yml +++ b/system/src/main/resources/application-lyric.yml @@ -200,4 +200,5 @@ security: - /systemLog/saveLog - /tenant/initNewTenant - /user/getUserByRoleCode - - /lyricUser/queryUserList \ No newline at end of file + - /lyricUser/queryUserList + - /user/listUser \ No newline at end of file