From 5ba97c47ee3f3407f0c475e9cfa25cce03c7cb91 Mon Sep 17 00:00:00 2001 From: gulongcheng <474084054@qq.com> Date: Mon, 12 Jan 2026 10:53:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=80=BB=E8=A7=88=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E6=A8=A1=E5=BC=8F=E5=B1=95=E7=A4=BA=E7=AE=97=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/req/ListSimulationNodeTreeReq.java | 6 +++ .../sdm/data/service/IDataFileService.java | 4 +- .../service/impl/DataAnalysisServiceImpl.java | 3 ++ .../impl/DimensionTemplateServiceImpl.java | 46 ++++++++++++++++++- 4 files changed, 55 insertions(+), 4 deletions(-) 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) {