1、仿真策划时,仿真负责、执行人修改后,需要调整相应的权限
This commit is contained in:
@@ -285,13 +285,28 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
mapper.updateProjectNodeItemExtra(taskExtraNode);
|
||||
}
|
||||
}
|
||||
// 查询当前任务关联的成员
|
||||
List<SimulationTaskMember> oldMemberList = simulationTaskMemberService.lambdaQuery()
|
||||
.eq(SimulationTaskMember::getTaskId, taskEditNodeReq.getUuid()).list();
|
||||
// 当前任务的仿真执行人
|
||||
List<SimulationTaskMember> oldEMemberList = List.of();
|
||||
// 当前任务的仿真负责人
|
||||
List<SimulationTaskMember> oldPMemberList = List.of();
|
||||
if (CollectionUtils.isNotEmpty(oldMemberList)) {
|
||||
oldEMemberList = oldMemberList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType())).toList();
|
||||
oldPMemberList = oldMemberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).toList();
|
||||
}
|
||||
// 删除原来修改仿真执行人的所有权限信息
|
||||
if (CollectionUtils.isNotEmpty(oldEMemberList)) {
|
||||
for (SimulationTaskMember simulationTaskMember : oldEMemberList) {
|
||||
// TODO 待优化成批量处理权限
|
||||
deletePermission(simulationTaskMember.getUserId(), simulationTaskMember.getTaskId());
|
||||
}
|
||||
}
|
||||
// 修改仿真执行人
|
||||
if (StringUtils.isNotBlank(taskEditNodeReq.getEMemberList())) {
|
||||
String[] userIdArr = taskEditNodeReq.getEMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
List<SimulationTaskMember> oldEMemberList = simulationTaskMemberService.lambdaQuery()
|
||||
.eq(SimulationTaskMember::getTaskId, taskEditNodeReq.getUuid())
|
||||
.eq(SimulationTaskMember::getType, MemberTypeEnum.EXECUTOR.getCode()).list();
|
||||
if (CollectionUtils.isNotEmpty(oldEMemberList)) {
|
||||
List<Long> oldEMemberIdList = oldEMemberList.stream().map(SimulationTaskMember::getUserId).collect(Collectors.toList());
|
||||
// 发送消息通知
|
||||
@@ -308,13 +323,30 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
simulationTaskMemberService.deleteTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.EXECUTOR.getCode());
|
||||
simulationTaskMemberService.saveTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.EXECUTOR.getCode(), longUserIdList);
|
||||
// 保存当前仿真执行人的所有权限信息
|
||||
for (Long userId : longUserIdList) {
|
||||
updatePermission(userId, taskEditNodeReq.getUuid());
|
||||
}
|
||||
}
|
||||
|
||||
// 删除原来修改仿真负责人的所有权限信息
|
||||
if (CollectionUtils.isNotEmpty(oldPMemberList)) {
|
||||
for (SimulationTaskMember simulationTaskMember : oldPMemberList) {
|
||||
// TODO 待优化成批量处理权限
|
||||
deletePermission(simulationTaskMember.getUserId(), simulationTaskMember.getTaskId());
|
||||
}
|
||||
}
|
||||
|
||||
// 修改仿真负责人
|
||||
if (StringUtils.isNotBlank(taskEditNodeReq.getPMemberList())) {
|
||||
String[] userIdArr = taskEditNodeReq.getPMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.deleteTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.PRINCIPAL.getCode());
|
||||
simulationTaskMemberService.saveTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.PRINCIPAL.getCode(), longUserIdList);
|
||||
// 保存当前仿真负责人的所有权限信息
|
||||
for (Long userId : longUserIdList) {
|
||||
updatePermission(userId, taskEditNodeReq.getUuid());
|
||||
}
|
||||
}
|
||||
// 修改仿真关注人
|
||||
if(StringUtils.isNotBlank(taskEditNodeReq.getPayAttentionMemberList())){
|
||||
@@ -1752,6 +1784,11 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加权限
|
||||
* @param userId
|
||||
* @param uuid
|
||||
*/
|
||||
private void updatePermission(Long userId,String uuid) {
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
@@ -1765,6 +1802,24 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
log.info("仿真策划时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除权限
|
||||
* @param userId
|
||||
* @param uuid
|
||||
*/
|
||||
private void deletePermission(Long userId,String uuid) {
|
||||
// 删除文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(userId);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(userId, FilePermissionEnum.ZERO.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("仿真策划时,删除用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataClientFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("仿真策划时,删除用户权限的返回值为:{}",updatePermissionResponse);
|
||||
}
|
||||
|
||||
private SdmResponse newRealAddSimulationTaskItems(TaskNodeTree taskNodeTree, Long tenantId, List<TaskNodeTag> tagList, String ownRootNodeUuid) {
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
SdmResponse response = SdmResponse.success();
|
||||
|
||||
Reference in New Issue
Block a user