Merge branch 'main' of http://192.168.65.198:3000/toolchaintechnologycenter/spdm-backend
This commit is contained in:
@@ -912,8 +912,10 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
if (req.getFile() != null) {
|
||||
UploadFilesReq filesReq = new UploadFilesReq();
|
||||
BeanUtils.copyProperties(req, filesReq);
|
||||
req.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
req.setFileTypeDictValue(String.valueOf(req.getFileType()));
|
||||
if (StringUtils.isEmpty(req.getFileTypeDictValue())) {
|
||||
req.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
req.setFileTypeDictValue(String.valueOf(req.getFileType()));
|
||||
}
|
||||
SdmResponse response = uploadKeyResultFiles(filesReq);
|
||||
if (response.isSuccess() && response.getData() != null) {
|
||||
JSONObject result = JSONObject.from(response.getData());
|
||||
@@ -1098,8 +1100,10 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
BeanUtils.copyProperties(req, filesReq);
|
||||
filesReq.setUuid(req.getTaskId());
|
||||
filesReq.setSourceFiles(req.getKeyResultList().stream().map(i -> new UploadFilesReq(i.getFileName(), i.getFileSize(), i.getFileType())).toList());
|
||||
filesReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
filesReq.setFileTypeDictValue(String.valueOf(req.getKeyResultList().get(0).getFileType()));
|
||||
if (StringUtils.isEmpty(filesReq.getFileTypeDictValue())) {
|
||||
filesReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
filesReq.setFileTypeDictValue(String.valueOf(req.getKeyResultList().get(0).getFileType()));
|
||||
}
|
||||
// 批量存储文件信息,返回数据供第二步分片上传使用
|
||||
SdmResponse<List<BatchAddFileInfoResp>> sdmResponse = dataFeignClient.batchAddFileInfo(filesReq);
|
||||
if (sdmResponse.isSuccess() && CollectionUtils.isNotEmpty(sdmResponse.getData())) {
|
||||
@@ -1230,8 +1234,10 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
GetSimulationTaskFileReq taskFileReq = new GetSimulationTaskFileReq();
|
||||
taskFileReq.setUuid(req.getTaskId());
|
||||
taskFileReq.setFileBizType(req.getFileType());
|
||||
taskFileReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
taskFileReq.setFileTypeDictValue(String.valueOf(req.getFileType()));
|
||||
if (StringUtils.isEmpty(taskFileReq.getFileTypeDictValue())) {
|
||||
taskFileReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
taskFileReq.setFileTypeDictValue(String.valueOf(req.getFileType()));
|
||||
}
|
||||
taskFileReq.setCurrent(req.getCurrent());
|
||||
taskFileReq.setSize(req.getSize());
|
||||
SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> sdmResponse = analysisFeignClient.getSimulationTaskFile(taskFileReq);
|
||||
@@ -2120,8 +2126,10 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
BeanUtils.copyProperties(req, filesReq);
|
||||
filesReq.setDirId(parentId);
|
||||
filesReq.setSourceFiles(req.getFileInfoList().stream().map(i -> new UploadFilesReq(i.getFileName(), i.getFileSize(), i.getFileType())).toList());
|
||||
filesReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
filesReq.setFileTypeDictValue(String.valueOf(req.getFileInfoList().get(0).getFileType()));
|
||||
if (StringUtils.isEmpty(filesReq.getFileTypeDictValue())) {
|
||||
filesReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
filesReq.setFileTypeDictValue(String.valueOf(req.getFileInfoList().get(0).getFileType()));
|
||||
}
|
||||
|
||||
// 批量存储文件信息,返回数据供第二步分片上传使用
|
||||
SdmResponse<List<BatchAddFileInfoResp>> sdmResponse = dataFeignClient.batchAddFileInfo(filesReq);
|
||||
|
||||
@@ -146,6 +146,11 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 从需求批量创建任务,0206提出 需要创建任务,不挂载到节点下
|
||||
* 由需求分发的时候,挂载节点,创建文件夹,更新权限
|
||||
* @param demandList 需求列表
|
||||
*/
|
||||
@Override
|
||||
public void batchCreateTaskFromDemand(List<SimulationDemand> demandList) {
|
||||
log.info("从需求批量创建任务,需求数量:{}", demandList);
|
||||
@@ -163,44 +168,10 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
List<BatchUpdatePermissionReq.FilePermissionItem> filePermissionItemList = new ArrayList<>();
|
||||
for (SimulationDemand demand : demandList) {
|
||||
SimulationTask task = convertDemandToTask(demand, tagMap);
|
||||
// 任务挂载在workspace工位节点下,需要从task的tag中获取workspaceId
|
||||
String workspaceId = getWorkspaceIdFromTask(task, tagMap);
|
||||
task.setNodeId(workspaceId);
|
||||
tasksToCreate.add(task);
|
||||
|
||||
taskExtrasToCreate.addAll(createTaskExtras(demand, task.getUuid()));
|
||||
taskMembersToCreate.addAll(createTaskMembers(demand, task.getUuid()));
|
||||
taskAttentionsToCreate.addAll(createTaskAttentions(demand, task.getUuid()));
|
||||
|
||||
// 任务对应需求
|
||||
// 1.需求创建人对关联的任务文件夹有预览、下载权限
|
||||
// 2.需求负责人(仿真负责人、确认人)对关联的任务文件夹有预览、下载权限
|
||||
// 但是目前任务负责人就是从需求负责人继承的,权限也会继承
|
||||
// 构建单个任务的权限配置(仅当需求创建人不为空时)
|
||||
if (demand.getCreator() != null) {
|
||||
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);
|
||||
} else {
|
||||
log.warn("需求创建人为空,跳过任务权限配置,需求ID: {}, 任务UUID: {}", demand.getUuid(), task.getUuid());
|
||||
}
|
||||
}
|
||||
// 批量更新需求创建人对任务文件夹的权限
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
// 批量保存任务主表、扩展表、成员表、关注表
|
||||
@@ -214,16 +185,6 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
if (CollectionUtils.isNotEmpty(taskAttentionsToCreate)) {
|
||||
simulationTaskAttentionService.saveBatch(taskAttentionsToCreate);
|
||||
}
|
||||
|
||||
// 批量创建任务目录和更新权限
|
||||
for (SimulationTask task : tasksToCreate) {
|
||||
// 任务挂载在workspace工位节点下,需要从task的tag中获取workspaceId
|
||||
String workspaceId = getWorkspaceIdFromTask(task, tagMap);
|
||||
createTaskDir(task.getUuid(), workspaceId, task.getTaskName());
|
||||
}
|
||||
|
||||
// 批量更新任务权限(使用批量接口)
|
||||
batchUpdateTaskPermissions(tasksToCreate);
|
||||
}
|
||||
|
||||
private SimulationTask convertDemandToTask(SimulationDemand demand, Map<String, String> tagMap) {
|
||||
|
||||
Reference in New Issue
Block a user