1、调整任务文件权限
This commit is contained in:
@@ -8,8 +8,7 @@ import com.sdm.common.common.ThreadLocalContext;
|
||||
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.data.*;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import com.sdm.common.feign.impl.data.DataClientFeignClientImpl;
|
||||
@@ -238,6 +237,8 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
Long jobNumber = ThreadLocalContext.getUserId();
|
||||
String uuid;
|
||||
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
List<BatchCreateDirItem> createDirItemList = new ArrayList<>();
|
||||
List<UpdatePermissionReq> currentUpdatePermissionList = new ArrayList<>();
|
||||
for (LyricVTodoEmulationInfoDM emulation : todoInfoList) {
|
||||
try {
|
||||
List<SpdmDemandExtraReq> extras = new ArrayList<>();
|
||||
@@ -439,6 +440,15 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
|
||||
// 需求的成员
|
||||
// 仿真负责人
|
||||
|
||||
// 当前用户也授予权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
currentUpdatePermissionList.add(updatePermissionReq);
|
||||
String emulationPerformer = emulation.getEmulationPerformer();
|
||||
if (StringUtils.isNotBlank(emulationPerformer)) {
|
||||
SpdmDemandRelateMemberReq pMemberReq = new SpdmDemandRelateMemberReq();
|
||||
@@ -447,6 +457,13 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
String pUserId = emulationPerformer.split("-")[0];
|
||||
if (isConvertibleToLong(pUserId)) {
|
||||
pMemberReq.setUserId(Long.valueOf(pUserId));
|
||||
UpdatePermissionReq pUpdatePermissionReq = new UpdatePermissionReq();
|
||||
pUpdatePermissionReq.setUserId(pMemberReq.getUserId());
|
||||
pUpdatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> pUserPermissions = new HashMap<>();
|
||||
pUserPermissions.put(pMemberReq.getUserId(), FilePermissionEnum.ALL.getValue());
|
||||
pUpdatePermissionReq.setUserPermissions(pUserPermissions);
|
||||
currentUpdatePermissionList.add(pUpdatePermissionReq);
|
||||
}
|
||||
pMemberReq.setCreateTime(curDateStr);
|
||||
pMemberReq.setCreator(jobNumber);
|
||||
@@ -462,6 +479,13 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
String eUserId = emulationExecutor.split("-")[0];
|
||||
if (isConvertibleToLong(eUserId)) {
|
||||
eMemberReq.setUserId(Long.valueOf(eUserId));
|
||||
UpdatePermissionReq eUpdatePermissionReq = new UpdatePermissionReq();
|
||||
eUpdatePermissionReq.setUserId(eMemberReq.getUserId());
|
||||
eUpdatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> eUserPermissions = new HashMap<>();
|
||||
eUserPermissions.put(eMemberReq.getUserId(), FilePermissionEnum.ALL.getValue());
|
||||
eUpdatePermissionReq.setUserPermissions(eUserPermissions);
|
||||
currentUpdatePermissionList.add(eUpdatePermissionReq);
|
||||
}
|
||||
eMemberReq.setCreateTime(curDateStr);
|
||||
eMemberReq.setCreator(jobNumber);
|
||||
@@ -482,31 +506,20 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
tMemberReq.setCreator(jobNumber);
|
||||
allMemberList.add(tMemberReq);
|
||||
}
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("手动同步需求时,更新用户权限的参数为:{}", updatePermissionReq);
|
||||
CreateDirReq createDirReq = new CreateDirReq();
|
||||
createDirReq.setUuId(uuid);
|
||||
createDirReq.setParentUuId(null);
|
||||
createDirReq.setDirName(spdmAddDemandReq.getDemandName());
|
||||
createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue());
|
||||
log.info("手动同步待办创建需求时,调用创建文件夹的参数为:{}", createDirReq);
|
||||
|
||||
|
||||
|
||||
BatchCreateDirItem batchCreateDirItem = new BatchCreateDirItem();
|
||||
DirNodeInfo dirNodeInfo = new DirNodeInfo();
|
||||
dirNodeInfo.setUuId(uuid);
|
||||
dirNodeInfo.setParentUuId(null);
|
||||
dirNodeInfo.setUuIdOwnType(NodeTypeEnum.DEMAND.getValue());
|
||||
dirNodeInfo.setDirName(spdmAddDemandReq.getDemandName());
|
||||
batchCreateDirItem.setParentDirNodeInfo(dirNodeInfo);
|
||||
createDirItemList.add(batchCreateDirItem);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
demandMapper.addDemand(spdmAddDemandReq, tenantId, jobNumber);
|
||||
demandMapper.addDemandMember(allMemberList);
|
||||
try {
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("手动同步需求时,更新用户权限的返回值为:{}", updatePermissionResponse);
|
||||
SdmResponse response = dataFeignClient.createDir(createDirReq);
|
||||
log.info("手动同步代办创建需求时,调用创建文件夹的返回值为:{}", response);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
});
|
||||
if (CollectionUtils.isNotEmpty(extras)) {
|
||||
for (SpdmDemandExtraReq extra : extras) {
|
||||
@@ -519,6 +532,27 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
log.error("手动同步代办时有异常:{}", e.getMessage());
|
||||
}
|
||||
}
|
||||
// 批量创建文件夹
|
||||
BatchCreateDirReq batchCreateDirReq = new BatchCreateDirReq();
|
||||
batchCreateDirReq.setItems(createDirItemList);
|
||||
batchCreateDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue());
|
||||
log.info("手动同步待办创建需求时,调用批量创建文件夹的参数为:{}", batchCreateDirReq);
|
||||
SdmResponse response = dataFeignClient.batchCreateDir(batchCreateDirReq);
|
||||
log.info("手动同步代办创建需求时,调用批量创建文件夹的返回值为:{}", response);
|
||||
|
||||
if (CollectionUtils.isNotEmpty(currentUpdatePermissionList)) {
|
||||
CompletableFuture.runAsync(() -> {
|
||||
for (UpdatePermissionReq permissionReq : currentUpdatePermissionList) {
|
||||
// 更新文件权限
|
||||
try {
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(permissionReq);
|
||||
log.info("手动同步代办时,更新用户权限的返回值为:{}", updatePermissionResponse);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
|
||||
@@ -520,7 +520,6 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
}
|
||||
|
||||
// 获取目标完成时间
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
List<SpdmProjectNodeEditReq> workspaceNodeList = addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).toList();
|
||||
if (CollectionUtils.isNotEmpty(workspaceNodeList)) {
|
||||
@@ -634,6 +633,75 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), spdmProjectNodeEditReq.getPid(), spdmProjectNodeEditReq.getNodeName());
|
||||
}
|
||||
}
|
||||
SpdmProjectNodeEditReq projectNode = addNodeList.stream().filter(node -> NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType())).findFirst().orElse(null);
|
||||
List<SpdmProjectNodeEditReq> addPhaseNodeList = addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).toList();
|
||||
List<SpdmProjectNodeEditReq> addMachineNodeList = addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).toList();
|
||||
List<SpdmProjectNodeEditReq> addWorkspaceNodeList = addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).toList();
|
||||
if (ObjectUtils.isEmpty(projectNode)) {
|
||||
// 只创建阶段
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = addPhaseNodeList.get(0);
|
||||
createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), spdmProjectNodeEditReq.getPid(), spdmProjectNodeEditReq.getNodeName());
|
||||
}else {
|
||||
// 批量创建文件夹
|
||||
BatchCreateDirReq batchCreateDirReq = new BatchCreateDirReq();
|
||||
List<BatchCreateDirItem> createDirItemList = new ArrayList<>();
|
||||
BatchCreateDirItem projectCreateDirItem = new BatchCreateDirItem();
|
||||
DirNodeInfo projectDirNodeInfo = new DirNodeInfo();
|
||||
projectDirNodeInfo.setUuId(projectNode.getUuid());
|
||||
projectDirNodeInfo.setParentUuId(null);
|
||||
projectDirNodeInfo.setUuIdOwnType(NodeTypeEnum.PROJECT.getValue());
|
||||
projectDirNodeInfo.setDirName(projectNode.getNodeName());
|
||||
projectCreateDirItem.setParentDirNodeInfo(projectDirNodeInfo);
|
||||
List<DirNodeInfo> childDirNodeInfoList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(addPhaseNodeList)) {
|
||||
for (SpdmProjectNodeEditReq phaseNode : addPhaseNodeList) {
|
||||
DirNodeInfo phaseDirNodeInfo = new DirNodeInfo();
|
||||
phaseDirNodeInfo.setUuId(phaseNode.getUuid());
|
||||
phaseDirNodeInfo.setParentUuId(projectNode.getUuid());
|
||||
phaseDirNodeInfo.setUuIdOwnType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseDirNodeInfo.setDirName(phaseNode.getNodeName());
|
||||
childDirNodeInfoList.add(phaseDirNodeInfo);
|
||||
// 过滤当前阶段下的机台节点
|
||||
if (CollectionUtils.isNotEmpty(addMachineNodeList)) {
|
||||
List<SpdmProjectNodeEditReq> currentMachineNodeList = addMachineNodeList.stream().filter(machineNode -> phaseNode.getUuid().equals(machineNode.getPid())).toList();
|
||||
if (CollectionUtils.isEmpty(currentMachineNodeList)) {
|
||||
continue;
|
||||
}
|
||||
for (SpdmProjectNodeEditReq machineNode : currentMachineNodeList) {
|
||||
DirNodeInfo machineDirNodeInfo = new DirNodeInfo();
|
||||
machineDirNodeInfo.setUuId(machineNode.getUuid());
|
||||
machineDirNodeInfo.setParentUuId(phaseNode.getUuid());
|
||||
machineDirNodeInfo.setUuIdOwnType(NodeTypeEnum.MACHINE.getValue());
|
||||
machineDirNodeInfo.setDirName(machineNode.getNodeName());
|
||||
childDirNodeInfoList.add(machineDirNodeInfo);
|
||||
// 过滤当前机台下的工位节点
|
||||
if (CollectionUtils.isNotEmpty(addWorkspaceNodeList)) {
|
||||
List<SpdmProjectNodeEditReq> currentWorkspaceNodeList = addWorkspaceNodeList.stream().filter(workspaceNode -> machineNode.getUuid().equals(workspaceNode.getPid())).toList();
|
||||
if (CollectionUtils.isEmpty(currentWorkspaceNodeList)) {
|
||||
continue;
|
||||
}
|
||||
for (SpdmProjectNodeEditReq workspaceNode : currentWorkspaceNodeList) {
|
||||
DirNodeInfo workspaceDirNodeInfo = new DirNodeInfo();
|
||||
workspaceDirNodeInfo.setUuId(workspaceNode.getUuid());
|
||||
workspaceDirNodeInfo.setParentUuId(machineNode.getUuid());
|
||||
workspaceDirNodeInfo.setUuIdOwnType(NodeTypeEnum.WORKSPACE.getValue());
|
||||
workspaceDirNodeInfo.setDirName(workspaceNode.getNodeName());
|
||||
childDirNodeInfoList.add(workspaceDirNodeInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
projectCreateDirItem.setChildDirNodeInfos(childDirNodeInfoList);
|
||||
createDirItemList.add(projectCreateDirItem);
|
||||
batchCreateDirReq.setItems(createDirItemList);
|
||||
batchCreateDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue());
|
||||
log.info("创建节点时,调用批量创建文件夹的参数为:{}", batchCreateDirReq);
|
||||
SdmResponse response = dataFeignClient.batchCreateDir(batchCreateDirReq);
|
||||
log.info("创建节点时,调用批量创建文件夹的返回值为:{}", response);
|
||||
}
|
||||
|
||||
for (SpdmProjectNodeEditReq node : addNodeList) {
|
||||
updatePermission(currentUserId,node.getUuid());
|
||||
}
|
||||
@@ -2013,6 +2081,8 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
Long jobNumber = ThreadLocalContext.getUserId();
|
||||
String uuid;
|
||||
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
List<BatchCreateDirItem> createDirItemList = new ArrayList<>();
|
||||
List<UpdatePermissionReq> currentUpdatePermissionList = new ArrayList<>();
|
||||
for (LyricVTodoEmulationInfoDM emulation : todoInfoList) {
|
||||
try {
|
||||
List<SpdmDemandExtraReq> extras = new ArrayList<>();
|
||||
@@ -2048,6 +2118,14 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
spdmAddDemandReq.setCreateTime(curDateStr);
|
||||
spdmAddDemandReq.setDemandSource(SYNC_PROJECT_SOURCE);
|
||||
// 需求的成员
|
||||
// 当前用户也授予权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
currentUpdatePermissionList.add(updatePermissionReq);
|
||||
// 仿真负责人
|
||||
String emulationPerformer = emulation.getEmulationPerformer();
|
||||
if (StringUtils.isNotBlank(emulationPerformer)) {
|
||||
@@ -2057,6 +2135,13 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
String pUserId = emulationPerformer.split("-")[0];
|
||||
if (isConvertibleToLong(pUserId)) {
|
||||
pMemberReq.setUserId(Long.valueOf(pUserId));
|
||||
UpdatePermissionReq pUpdatePermissionReq = new UpdatePermissionReq();
|
||||
pUpdatePermissionReq.setUserId(pMemberReq.getUserId());
|
||||
pUpdatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> pUserPermissions = new HashMap<>();
|
||||
pUserPermissions.put(pMemberReq.getUserId(), FilePermissionEnum.ALL.getValue());
|
||||
pUpdatePermissionReq.setUserPermissions(pUserPermissions);
|
||||
currentUpdatePermissionList.add(pUpdatePermissionReq);
|
||||
}
|
||||
pMemberReq.setCreateTime(curDateStr);
|
||||
pMemberReq.setCreator(jobNumber);
|
||||
@@ -2072,6 +2157,13 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
String eUserId = emulationExecutor.split("-")[0];
|
||||
if (isConvertibleToLong(eUserId)) {
|
||||
eMemberReq.setUserId(Long.valueOf(eUserId));
|
||||
UpdatePermissionReq eUpdatePermissionReq = new UpdatePermissionReq();
|
||||
eUpdatePermissionReq.setUserId(eMemberReq.getUserId());
|
||||
eUpdatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> eUserPermissions = new HashMap<>();
|
||||
eUserPermissions.put(eMemberReq.getUserId(), FilePermissionEnum.ALL.getValue());
|
||||
eUpdatePermissionReq.setUserPermissions(eUserPermissions);
|
||||
currentUpdatePermissionList.add(eUpdatePermissionReq);
|
||||
}
|
||||
eMemberReq.setCreateTime(curDateStr);
|
||||
eMemberReq.setCreator(jobNumber);
|
||||
@@ -2092,31 +2184,18 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
tMemberReq.setCreator(jobNumber);
|
||||
allMemberList.add(tMemberReq);
|
||||
}
|
||||
// 更新文件权限
|
||||
UpdatePermissionReq updatePermissionReq = new UpdatePermissionReq();
|
||||
updatePermissionReq.setUserId(jobNumber);
|
||||
updatePermissionReq.setUuid(uuid);
|
||||
Map<Long, Byte> userPermissions = new HashMap<>();
|
||||
userPermissions.put(jobNumber, FilePermissionEnum.ALL.getValue());
|
||||
updatePermissionReq.setUserPermissions(userPermissions);
|
||||
log.info("同步需求时,更新用户权限的参数为:{}", updatePermissionReq);
|
||||
CreateDirReq createDirReq = new CreateDirReq();
|
||||
createDirReq.setUuId(uuid);
|
||||
createDirReq.setParentUuId(null);
|
||||
createDirReq.setDirName(spdmAddDemandReq.getDemandName());
|
||||
createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue());
|
||||
log.info("同步待办创建需求时,调用创建文件夹的参数为:{}", createDirReq);
|
||||
|
||||
BatchCreateDirItem batchCreateDirItem = new BatchCreateDirItem();
|
||||
DirNodeInfo dirNodeInfo = new DirNodeInfo();
|
||||
dirNodeInfo.setUuId(uuid);
|
||||
dirNodeInfo.setParentUuId(null);
|
||||
dirNodeInfo.setUuIdOwnType(NodeTypeEnum.DEMAND.getValue());
|
||||
dirNodeInfo.setDirName(spdmAddDemandReq.getDemandName());
|
||||
batchCreateDirItem.setParentDirNodeInfo(dirNodeInfo);
|
||||
createDirItemList.add(batchCreateDirItem);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
demandMapper.addDemand(spdmAddDemandReq, tenantId, jobNumber);
|
||||
demandMapper.addDemandMember(allMemberList);
|
||||
try {
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
log.info("同步需求时,更新用户权限的返回值为:{}", updatePermissionResponse);
|
||||
SdmResponse response = dataFeignClient.createDir(createDirReq);
|
||||
log.info("同步代办创建需求时,调用创建文件夹的返回值为:{}", response);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
});
|
||||
if (CollectionUtils.isNotEmpty(extras)) {
|
||||
for (SpdmDemandExtraReq extra : extras) {
|
||||
@@ -2129,6 +2208,27 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
log.error("同步代办时有异常:{}", e.getMessage());
|
||||
}
|
||||
}
|
||||
// 批量创建文件夹
|
||||
BatchCreateDirReq batchCreateDirReq = new BatchCreateDirReq();
|
||||
batchCreateDirReq.setItems(createDirItemList);
|
||||
batchCreateDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue());
|
||||
log.info("同步待办创建需求时,调用批量创建文件夹的参数为:{}", batchCreateDirReq);
|
||||
SdmResponse response = dataFeignClient.batchCreateDir(batchCreateDirReq);
|
||||
log.info("同步代办创建需求时,调用批量创建文件夹的返回值为:{}", response);
|
||||
// TODO 更新用户权限也需要批量接口来优化
|
||||
if (CollectionUtils.isNotEmpty(currentUpdatePermissionList)) {
|
||||
CompletableFuture.runAsync(() -> {
|
||||
for (UpdatePermissionReq permissionReq : currentUpdatePermissionList) {
|
||||
// 更新文件权限
|
||||
try {
|
||||
SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(permissionReq);
|
||||
log.info("同步需求时,更新用户权限的返回值为:{}", updatePermissionResponse);
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
|
||||
@@ -1419,12 +1419,24 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
longUserIdList.forEach(userId -> {
|
||||
sendMessage(MessageTemplateEnum.TASK_ISSUE, projectNode.getNodeName(), String.valueOf(userId), projectNode.getUuid());
|
||||
});
|
||||
for (Long userId : longUserIdList) {
|
||||
TaskMemberNode taskMemberNode = new TaskMemberNode();
|
||||
taskMemberNode.setUserId(String.valueOf(userId));
|
||||
taskMemberNode.setTaskId(projectNode.getUuid());
|
||||
projectNodeMemberList.add(taskMemberNode);
|
||||
}
|
||||
}
|
||||
// 设置仿真负责人
|
||||
if (StringUtils.isNotBlank(projectNode.getPMemberList())) {
|
||||
String[] userIdArr = projectNode.getPMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.saveTaskMemberList(projectNode.getUuid(), MemberTypeEnum.PRINCIPAL.getCode(), longUserIdList);
|
||||
for (Long userId : longUserIdList) {
|
||||
TaskMemberNode taskMemberNode = new TaskMemberNode();
|
||||
taskMemberNode.setUserId(String.valueOf(userId));
|
||||
taskMemberNode.setTaskId(projectNode.getUuid());
|
||||
projectNodeMemberList.add(taskMemberNode);
|
||||
}
|
||||
}
|
||||
|
||||
List<TaskExtraNode> extraList = projectNode.getExtras();
|
||||
@@ -1930,14 +1942,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
response = SdmResponse.failed("新增任务附加属性失败");
|
||||
}
|
||||
}
|
||||
log.info("taskNodeMemberList为:{}",taskNodeMemberList);
|
||||
if (CollectionUtils.isNotEmpty(taskNodeMemberList)) {
|
||||
taskNodeMemberList.forEach(projectNode -> projectNode.setCreateTime(createTime));
|
||||
if (mapper.batchAddSimulationTaskMember(taskNodeMemberList) <= 0) {
|
||||
response = SdmResponse.failed("新增任务成员属性失败");
|
||||
return response;
|
||||
}
|
||||
for (TaskMemberNode taskMemberNode : taskNodeMemberList) {
|
||||
log.info("更新用户:{}的权限",taskMemberNode.getUserId());
|
||||
updatePermission(Long.valueOf(taskMemberNode.getUserId()),taskMemberNode.getTaskId());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user