1、新增节点、任务、指标、需求时,同步更新发起人的文件权限
This commit is contained in:
@@ -18,4 +18,10 @@ public class TaskTreeExportExcelParam {
|
||||
* 节点标签顺序集合
|
||||
*/
|
||||
private List<TaskNodeTag> tagMap;
|
||||
|
||||
/**
|
||||
* 勾选的任务id集合
|
||||
*/
|
||||
private List<String> taskIdList;
|
||||
|
||||
}
|
||||
|
||||
@@ -8,8 +8,10 @@ import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.FilePermissionEnum;
|
||||
import com.sdm.common.entity.enums.MessageTemplateEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.UpdatePermissionReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.common.entity.req.system.SendMsgReq;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
@@ -193,7 +195,17 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
log.info("创建需求时,调用创建文件夹的参数为:{}", createDirReq);
|
||||
SdmResponse response = dataClientFeignClient.createDir(createDirReq);
|
||||
log.info("创建需求时,调用创建文件夹的返回值为:{}", response);
|
||||
|
||||
// 更新文件权限
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(userId);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(userId, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("创建需求时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("创建需求时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
return SdmResponse.success(req.getUuid());
|
||||
}
|
||||
|
||||
@@ -686,6 +698,18 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
// 发送消息通知
|
||||
sendMessage(MessageTemplateEnum.TASK_ISSUE, taskNode.getNodeName());
|
||||
}
|
||||
for (TaskNode taskNode : taskNodeList) {
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.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);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(projectNodeExtraList)) {
|
||||
projectNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
|
||||
@@ -708,6 +732,17 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
response = SdmResponse.failed("新增指标失败");
|
||||
return response;
|
||||
}
|
||||
for (TaskNode taskNode : allPerformanceList) {
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.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);
|
||||
}
|
||||
|
||||
List<TaskNodePo> newTaskNodeList = projectMapper.getTaskListByNodeIdList(allPerformanceList.stream().map(TaskNode::getTaskId).toList());
|
||||
Map<String, TaskNodePo> taskNodePoMap = Map.of();
|
||||
@@ -1116,8 +1151,8 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
|
||||
createDirReq.setParentUuId(parentUuid);
|
||||
createDirReq.setDirName(dirName);
|
||||
log.info("下发任务调用创建文件夹的参数为:{}", createDirReq);
|
||||
// SdmResponse response = dataClientAPIClient.createDir(createDirReq);
|
||||
// log.info("调用创建文件夹的返回值为:{}", response);
|
||||
SdmResponse response = dataClientFeignClient.createDir(createDirReq);
|
||||
log.info("下发任务调用创建文件夹的返回值为:{}", response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,11 +10,9 @@ import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.bo.DataDictionary;
|
||||
import com.sdm.common.entity.constants.TagConstant;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.FilePermissionEnum;
|
||||
import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.DelDirReq;
|
||||
import com.sdm.common.entity.req.data.RenameDirReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.common.entity.req.data.*;
|
||||
import com.sdm.common.entity.req.project.*;
|
||||
import com.sdm.common.entity.req.system.QueryGroupDetailReq;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
@@ -145,6 +143,19 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return SdmResponse.failed("操作节点失败,原因:新增节点时失败!");
|
||||
}
|
||||
for (SpdmProjectNodeEditReq addNode : addNodeList) {
|
||||
// 更新文件权限
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(userId);
|
||||
updatePermissionReq.setUuid(addNode.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(userId, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("创建项目阶段时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("创建项目阶段时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
}
|
||||
return SdmResponse.success(addNodeList);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,10 +8,12 @@ import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.FilePermissionEnum;
|
||||
import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.DelDirReq;
|
||||
import com.sdm.common.entity.req.data.RenameDirReq;
|
||||
import com.sdm.common.entity.req.data.UpdatePermissionReq;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.req.task.TaskExportExcelParam;
|
||||
import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat;
|
||||
@@ -1410,8 +1412,21 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
}
|
||||
|
||||
private void updatePermission(Long userId,String uuid) {
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(userId);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(userId, FilePermissionEnum.ALL.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 jobNumber = ThreadLocalContext.getUserId();
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
SdmResponse response = SdmResponse.success();
|
||||
if (CollectionUtils.isEmpty(taskNodeTree.getNodeList())) {
|
||||
response = SdmResponse.failed("节点不能为空");
|
||||
@@ -1480,6 +1495,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
: projectNodeMap.get(taskNode.getParentId()).getUuid()),
|
||||
taskNode.getNodeName());
|
||||
}
|
||||
for (TaskNode taskNode : projectNodeList) {
|
||||
updatePermission(userId,taskNode.getUuid());
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(projectNodeExtraList)) {
|
||||
projectNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
|
||||
@@ -1545,6 +1563,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
taskNode.getNodeName());
|
||||
}
|
||||
}
|
||||
for (TaskNode taskNode : taskNodeList) {
|
||||
updatePermission(userId,taskNode.getUuid());
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(taskNodeExtraList)) {
|
||||
taskNodeExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
|
||||
@@ -1565,7 +1586,6 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
response = SdmResponse.failed("新增指标失败");
|
||||
return response;
|
||||
}
|
||||
|
||||
List<TaskNodePo> newTaskNodeList = mapper.getTaskListByNodeIdList(projectNodePerformanceList.stream().map(TaskNode::getTaskId).toList());
|
||||
Map<String, TaskNodePo> taskNodePoMap = Map.of();
|
||||
if (CollectionUtils.isNotEmpty(newTaskNodeList)) {
|
||||
@@ -1599,6 +1619,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
taskNode.getNodeName());
|
||||
}
|
||||
}
|
||||
for (TaskNode taskNode : projectNodePerformanceList) {
|
||||
updatePermission(userId,taskNode.getUuid());
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(projectNodePerformanceExtraList)) {
|
||||
projectNodePerformanceExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
|
||||
|
||||
@@ -8,8 +8,10 @@ import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.constants.ProjectConstants;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.FilePermissionEnum;
|
||||
import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.UpdatePermissionReq;
|
||||
import com.sdm.common.entity.req.project.SimulationPerformance;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
|
||||
@@ -1357,6 +1359,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
@Transactional
|
||||
@Override
|
||||
public BosimSaveProjectTaskRsp syncCidTask(SyncCidTaskReq req) {
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
log.info("syncCidTask中,userId为:{}",userId);
|
||||
userId = ObjectUtils.isNotEmpty(userId) ? userId : 1999363561237610497L;
|
||||
BosimSaveProjectTaskRsp resp = new BosimSaveProjectTaskRsp();
|
||||
String projectId = req.getProjectId();
|
||||
String projectName = req.getProjectName();
|
||||
@@ -1394,6 +1399,16 @@ public class TaskServiceImpl implements ITaskService {
|
||||
resp.setMessage(ResultCode.FAILED.getMessage());
|
||||
return resp;
|
||||
}
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(userId);
|
||||
updatePermissionReq.setUuid(spdmProjectNodeEditReq.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(userId, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("同步CID项目时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataClientFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("同步CID项目时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
}catch (Exception ex) {
|
||||
log.error("同步CID项目:{}时,创建文件夹异常,原因为:{}",req.getProjectId() + " " + req.getProjectName(),ex.getMessage());
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
@@ -1454,6 +1469,19 @@ public class TaskServiceImpl implements ITaskService {
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
for (CidTaskNode cidTaskNode : taskNodeList) {
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(userId);
|
||||
updatePermissionReq.setUuid(cidTaskNode.getUuid());
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(userId, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("同步CID任务时,更新用户权限的参数为:{}",updatePermissionReq);
|
||||
SdmResponse updatePermissionResponse = dataClientFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("同步CID任务时,更新用户权限的返回值为:{}",updatePermissionResponse);
|
||||
}
|
||||
|
||||
}catch (Exception ex) {
|
||||
log.error("同步CID任务时,创建文件夹失败,原因为:{}",ex.getMessage());
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
@@ -1881,8 +1909,14 @@ public class TaskServiceImpl implements ITaskService {
|
||||
log.error("导出任务分析项树时,任务不能为空");
|
||||
return SdmResponse.failed("任务不能为空");
|
||||
}
|
||||
|
||||
|
||||
List<String> chooseTaskIdList = params.getTaskIdList();
|
||||
if (CollectionUtils.isNotEmpty(chooseTaskIdList)) {
|
||||
taskVoList = taskVoList.stream().filter(task -> chooseTaskIdList.contains(task.getUuid())).toList();
|
||||
}
|
||||
if (CollectionUtils.isEmpty(taskVoList)) {
|
||||
log.error("导出任务分析项树时,根据任务id:{}过滤后,任务集合为空",chooseTaskIdList);
|
||||
return SdmResponse.failed("任务不能为空");
|
||||
}
|
||||
List<ExportExcelFormat> fixedHeaderList = new ArrayList<>();
|
||||
Optional<ExportExcelFormat> nodeNameOptional = exportExcelFormats.stream().filter(header -> "nodeName".equals(header.getKey())).findAny();
|
||||
Optional<ExportExcelFormat> nodeCodeOptional = exportExcelFormats.stream().filter(header -> "nodeCode".equals(header.getKey())).findAny();
|
||||
|
||||
Reference in New Issue
Block a user