diff --git a/data/src/main/java/com/sdm/data/model/req/ListSimulationNodeTreeReq.java b/data/src/main/java/com/sdm/data/model/req/ListSimulationNodeTreeReq.java index 0b0a85fc..48eafbe0 100644 --- a/data/src/main/java/com/sdm/data/model/req/ListSimulationNodeTreeReq.java +++ b/data/src/main/java/com/sdm/data/model/req/ListSimulationNodeTreeReq.java @@ -32,4 +32,10 @@ public class ListSimulationNodeTreeReq extends BaseReq { */ @Schema(description = "是否过滤空数据") boolean filterEmptyData =false; + + /** + * 是否开启作业模式 + */ + @Schema(description = "是否开启作业模式") + boolean jobMode=false; } diff --git a/data/src/main/java/com/sdm/data/service/IDataFileService.java b/data/src/main/java/com/sdm/data/service/IDataFileService.java index dfe652ed..7284b178 100644 --- a/data/src/main/java/com/sdm/data/service/IDataFileService.java +++ b/data/src/main/java/com/sdm/data/service/IDataFileService.java @@ -324,10 +324,10 @@ public interface IDataFileService { SdmResponse queryFileMetadataInfo(String uuid, String uuidOwnType, Long dirId); - SdmResponse chunkUploadToMinio(ChunkUploadMinioFileReq req); - SdmResponse> batchAddFileInfo(UploadFilesReq req); + SdmResponse chunkUploadToMinio(ChunkUploadMinioFileReq req); + SdmResponse chunkUploadCallback(KnowledgeCallBackReq req); /** diff --git a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java index bbe84a74..44c2c2d1 100644 --- a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java @@ -70,6 +70,9 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { .one(); if (ObjectUtils.isNotEmpty(fileMetadataInfo)) { queryBigFileReq.setDirId(fileMetadataInfo.getId()); + }else { + log.error("未找到对应的 UUID 对应的目录"); + return PageUtils.getJsonObjectSdmResponse(new ArrayList<>(), new PageInfo<>()); } } diff --git a/data/src/main/java/com/sdm/data/service/impl/DimensionTemplateServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/DimensionTemplateServiceImpl.java index 91b5b41f..6b49f9e4 100644 --- a/data/src/main/java/com/sdm/data/service/impl/DimensionTemplateServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/DimensionTemplateServiceImpl.java @@ -373,8 +373,50 @@ public class DimensionTemplateServiceImpl extends ServiceImpl>> handleJobMode(ListSimulationNodeTreeReq req) { + + // 需要处理左侧聚合展示的目录 + List fileIds = req.getFileIds(); + List nodeUUids = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, fileIds).list().stream().map(FileMetadataInfo::getRelatedResourceUuid).toList(); + log.info("作业模式下:根据文件 fileIds:{},获取到对应的节点uuid:{}", fileIds, nodeUUids); + if(CollectionUtils.isEmpty(nodeUUids)) { + log.error("作业模式下,未查询到对应的nodeUUids"); + return SdmResponse.success(); + } + // 从李东洋接口,基于 nodeUUids 获取 算列的run的uuids + // List runUuids = projectMapper.queryRunUuidsByNodeUUids(nodeUUids); + List runUuids = new ArrayList<>(); + + if(CollectionUtils.isEmpty(runUuids)){ + log.info("作业模式下,未查询到对应算列的runUuids"); + return SdmResponse.success(); + } + + // 根据runUuids获取文件信息 + List runFileInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getRelatedResourceUuid, runUuids).list(); + + if (CollectionUtils.isEmpty(runFileInfos)) { + log.info("作业模式下,未查询到对应的算列的文件信息"); + return SdmResponse.success(); + } + + return processAndPageResults(runFileInfos, req); } private SdmResponse>> handleRootDirectory(ListSimulationNodeTreeReq req, Long tenantId) {