This commit is contained in:
2026-01-12 15:07:10 +08:00
4 changed files with 55 additions and 4 deletions

View File

@@ -32,4 +32,10 @@ public class ListSimulationNodeTreeReq extends BaseReq {
*/
@Schema(description = "是否过滤空数据")
boolean filterEmptyData =false;
/**
* 是否开启作业模式
*/
@Schema(description = "是否开启作业模式")
boolean jobMode=false;
}

View File

@@ -324,10 +324,10 @@ public interface IDataFileService {
SdmResponse<FileMetadataInfoResp> queryFileMetadataInfo(String uuid, String uuidOwnType, Long dirId);
SdmResponse<ChunkUploadMinioFileResp> chunkUploadToMinio(ChunkUploadMinioFileReq req);
SdmResponse<List<BatchAddFileInfoResp>> batchAddFileInfo(UploadFilesReq req);
SdmResponse<ChunkUploadMinioFileResp> chunkUploadToMinio(ChunkUploadMinioFileReq req);
SdmResponse chunkUploadCallback(KnowledgeCallBackReq req);
/**

View File

@@ -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<>());
}
}

View File

@@ -373,8 +373,50 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
return handleRootDirectory(req, tenantId);
}
// 处理普通目录情况
return handleNormalDirectory(req, tenantId);
if (req.isJobMode()){
// 作业模式下只展示算列run
return handleJobMode(req);
}else {
// 非作业模式下,处理普通目录情况,展示所有文件
return handleNormalDirectory(req, tenantId);
}
}
/**
* 作业模式下只展示算列run
* @param req
* @return
*/
private SdmResponse<PageDataResp<List<FileMetadataChildrenDTO>>> handleJobMode(ListSimulationNodeTreeReq req) {
// 需要处理左侧聚合展示的目录
List<Long> fileIds = req.getFileIds();
List<String> 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<String> runUuids = projectMapper.queryRunUuidsByNodeUUids(nodeUUids);
List<String> runUuids = new ArrayList<>();
if(CollectionUtils.isEmpty(runUuids)){
log.info("作业模式下未查询到对应算列的runUuids");
return SdmResponse.success();
}
// 根据runUuids获取文件信息
List<FileMetadataInfo> runFileInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getRelatedResourceUuid, runUuids).list();
if (CollectionUtils.isEmpty(runFileInfos)) {
log.info("作业模式下,未查询到对应的算列的文件信息");
return SdmResponse.success();
}
return processAndPageResults(runFileInfos, req);
}
private SdmResponse<PageDataResp<List<FileMetadataChildrenDTO>>> handleRootDirectory(ListSimulationNodeTreeReq req, Long tenantId) {