fix:任务批量修改权限修改

This commit is contained in:
2026-02-05 14:36:31 +08:00
parent ca79f0b281
commit 9323060c87
2 changed files with 44 additions and 29 deletions

View File

@@ -744,6 +744,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<Long, Byte> userPermissions = new HashMap<>();
item.setUserPermissions(userPermissions);
filePermissions.add(item);
BatchUpdatePermissionReq.FilePermissionItem demandItem = new BatchUpdatePermissionReq.FilePermissionItem();
demandItem.setUuid(demandId);
Map<Long, Byte> demandUserPermissions = new HashMap<>();
demandItem.setUserPermissions(demandUserPermissions);
filePermissions.add(demandItem);
if (StringUtils.isNotBlank(pUserIdStr)) {
String[] userIdArr = pUserIdStr.split(",");
for (String userId : userIdArr) {
@@ -754,10 +767,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)) {
@@ -772,20 +785,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<TaskExtraNode> extraList = task.getExtras();
if (CollectionUtils.isNotEmpty(extraList)) {

View File

@@ -1426,28 +1426,29 @@ public class TaskServiceImpl implements ITaskService {
});
List<BatchUpdatePermissionReq.FilePermissionItem> filePermissions = new ArrayList<>();
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(task.getUuid());
Map<Long, Byte> userPermissions = new HashMap<>();
// 保存当前的仿真执行人权限
for (Long currentUserId : currentUserIdList) {
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(task.getUuid());
Map<Long, Byte> 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<SpdmDemandVo> 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<Long, Byte> userPermissions2 = new HashMap<>();
for (Long currentUserId : currentUserIdList) {
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(demand.getUuid());
Map<Long, Byte> 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<BatchUpdatePermissionReq.FilePermissionItem> filePermissions = new ArrayList<>();
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(task.getUuid());
Map<Long, Byte> userPermissions = new HashMap<>();
// 保存当前的仿真执行人权限
for (Long currentUserId : currentUserIdList) {
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(task.getUuid());
Map<Long, Byte> 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<SpdmDemandVo> 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<Long, Byte> userPermissions2 = new HashMap<>();
for (Long currentUserId : currentUserIdList) {
BatchUpdatePermissionReq.FilePermissionItem item = new BatchUpdatePermissionReq.FilePermissionItem();
item.setUuid(demand.getUuid());
Map<Long, Byte> 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);