Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -660,6 +660,11 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
String parentUuid = getLastNodeId(taskNodeList.get(0));
|
||||
log.info("下发任务时,parentId为:{}", parentUuid);
|
||||
String demandId = req.getDemandId();
|
||||
// 关联的需求
|
||||
SpdmDemandVo demand = mapper.getDemandListById(Collections.singletonList(demandId)).get(0);
|
||||
Long demandCreator = demand.getCreator();
|
||||
List<BatchUpdatePermissionReq.FilePermissionItem> filePermissions = new ArrayList<>();
|
||||
|
||||
List<TaskMemberNode> projectNodeMemberList = new ArrayList<>();
|
||||
List<TaskExtraNode> projectNodeExtraList = new ArrayList<>();
|
||||
List<TaskNode> allPerformanceList = new ArrayList<>();
|
||||
@@ -683,14 +688,21 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
taskMemberNode.setUserId(userId);
|
||||
taskMemberNode.setType(MemberTypeEnum.PRINCIPAL.getCode());
|
||||
projectNodeMemberList.add(taskMemberNode);
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(Long.valueOf(userId));
|
||||
updatePermissionReq.setUuid(task.getUuid());
|
||||
// 更新需求负责人对需求文件权限
|
||||
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
item.setUuid(task.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
userPermissions.put(Long.valueOf(userId), FilePermissionEnum.ALL.getValue());
|
||||
item.setUserPermissions(userPermissions);
|
||||
filePermissions.add(item);
|
||||
|
||||
// 更新需求负责人对任务文件夹的权限
|
||||
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);
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(eUserIdStr)) {
|
||||
@@ -704,16 +716,13 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
projectNodeMemberList.add(taskMemberNode);
|
||||
// 发送消息通知
|
||||
sendMessage(MessageTemplateEnum.TASK_ISSUE, task.getNodeName(), userId, task.getUuid());
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(Long.valueOf(userId));
|
||||
updatePermissionReq.setUuid(task.getUuid());
|
||||
// 更新需求执行人对需求文件权限
|
||||
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
item.setUuid(task.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("下发任务时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("下发任务时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
userPermissions.put(Long.valueOf(userId), FilePermissionEnum.ALL.getValue());
|
||||
item.setUserPermissions(userPermissions);
|
||||
filePermissions.add(item);
|
||||
}
|
||||
}
|
||||
List<TaskExtraNode> extraList = task.getExtras();
|
||||
@@ -785,16 +794,21 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
createDir(taskNode.getUuid(), parentUuid, taskNode.getNodeName());
|
||||
}
|
||||
for (TaskNode taskNode : taskNodeList) {
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.setUuid(taskNode.getUuid());
|
||||
// 更新需求创建人对需求文件夹权限
|
||||
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
item.setUuid(taskNode.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("下发任务时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("下发任务时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
item.setUserPermissions(userPermissions);
|
||||
filePermissions.add(item);
|
||||
|
||||
// 更新需求创建人对任务文件夹的权限
|
||||
BatchUpdatePermissionReq.FilePermissionItem demandItem = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
demandItem.setUuid(taskNode.getUuid());
|
||||
Map<Long, Byte> demandUserPermissions = new HashMap<>();
|
||||
demandUserPermissions.put(demandCreator, FilePermissionEnum.BASE.getValue());
|
||||
demandItem.setUserPermissions(demandUserPermissions);
|
||||
filePermissions.add(demandItem);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(projectNodeExtraList)) {
|
||||
@@ -819,15 +833,13 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
return response;
|
||||
}
|
||||
for (TaskNode taskNode : allPerformanceList) {
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.setUuid(taskNode.getUuid());
|
||||
// 更新文件权限
|
||||
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
item.setUuid(taskNode.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("下发任务时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("下发任务时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
userPermissions.put(Long.valueOf(jobNumber), FilePermissionEnum.ALL.getValue());
|
||||
item.setUserPermissions(userPermissions);
|
||||
filePermissions.add(item);
|
||||
}
|
||||
|
||||
List<TaskNodePo> newTaskNodeList = projectMapper.getTaskListByNodeIdList(allPerformanceList.stream().map(TaskNode::getTaskId).toList());
|
||||
@@ -863,6 +875,20 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
return response;
|
||||
}
|
||||
}
|
||||
// 执行批量更新权限
|
||||
if (CollectionUtils.isNotEmpty(filePermissions)) {
|
||||
BatchUpdatePermissionReq batchReq = new BatchUpdatePermissionReq();
|
||||
batchReq.setFilePermissions(filePermissions);
|
||||
|
||||
log.info("从需求分发任务时,批量更新权限,任务数量:{}", filePermissions.size());
|
||||
SdmResponse response1 = dataFeignClient.batchUpdatePermission(batchReq);
|
||||
log.info("从需求分发任务时,批量更新权限结果:{}", response1);
|
||||
|
||||
if (!response1.isSuccess()) {
|
||||
log.error("批量更新任务权限失败:{}", response1.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return response;
|
||||
|
||||
@@ -135,6 +135,7 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.deleteTaskMemberList(req.getUuid(), MemberTypeEnum.EXECUTOR.getCode());
|
||||
simulationTaskMemberService.saveTaskMemberList(req.getUuid(), MemberTypeEnum.EXECUTOR.getCode(), longUserIdList);
|
||||
// 对关联的需求文件夹设置权限
|
||||
}
|
||||
// 设置仿真负责人
|
||||
if (StringUtils.isNotBlank(req.getPMemberList())) {
|
||||
@@ -159,6 +160,7 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
|
||||
Map<String, String> tagMap = tagMapService.getTagMapName();
|
||||
|
||||
List<BatchUpdatePermissionReq.FilePermissionItem> filePermissionItemList = new ArrayList<>();
|
||||
for (SimulationDemand demand : demandList) {
|
||||
SimulationTask task = convertDemandToTask(demand, tagMap);
|
||||
// 任务挂载在workspace工位节点下,需要从task的tag中获取workspaceId
|
||||
@@ -169,6 +171,32 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
taskExtrasToCreate.addAll(createTaskExtras(demand, task.getUuid()));
|
||||
taskMembersToCreate.addAll(createTaskMembers(demand, task.getUuid()));
|
||||
taskAttentionsToCreate.addAll(createTaskAttentions(demand, task.getUuid()));
|
||||
|
||||
// 任务对应需求
|
||||
// 1.需求创建人对关联的任务文件夹有预览、下载权限
|
||||
// 2.需求负责人(仿真负责人、确认人)对关联的任务文件夹有预览、下载权限
|
||||
// 但是目前任务负责人就是从需求负责人继承的,权限也会继承
|
||||
// 构建单个任务的权限配置
|
||||
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
|
||||
item.setUuid(task.getUuid());
|
||||
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(demand.getCreator(), FilePermissionEnum.BASE.getValue());
|
||||
item.setUserPermissions(userPermissions);
|
||||
filePermissionItemList.add(item);
|
||||
}
|
||||
// 批量更新需求创建人对任务文件夹的权限
|
||||
if (CollectionUtils.isNotEmpty(filePermissionItemList)) {
|
||||
BatchUpdatePermissionReq batchReq = new BatchUpdatePermissionReq();
|
||||
batchReq.setFilePermissions(filePermissionItemList);
|
||||
|
||||
log.info("从需求批量创建任务时,批量更新需求创建人对任务文件夹的权限,任务数量:{}", filePermissionItemList.size());
|
||||
SdmResponse response = dataFeignClient.batchUpdatePermission(batchReq);
|
||||
log.info("从需求批量创建任务时,批量更新需求创建人对任务文件夹的权限结果:{}", response);
|
||||
|
||||
if (!response.isSuccess()) {
|
||||
log.error("批量更新任务权限失败:{}", response.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// 批量保存任务主表、扩展表、成员表、关注表
|
||||
|
||||
Reference in New Issue
Block a user