diff --git a/data/src/main/java/com/sdm/data/controller/DataOverviewController.java b/data/src/main/java/com/sdm/data/controller/DataOverviewController.java index 06c83111..f500c025 100644 --- a/data/src/main/java/com/sdm/data/controller/DataOverviewController.java +++ b/data/src/main/java/com/sdm/data/controller/DataOverviewController.java @@ -4,6 +4,7 @@ package com.sdm.data.controller; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.data.CreateDirReq; import com.sdm.common.entity.req.data.UploadFilesReq; +import com.sdm.common.entity.resp.PageDataResp; import com.sdm.data.model.dto.FileMetadataChildrenDTO; import com.sdm.data.model.entity.FileMetadataInfo; import com.sdm.data.model.req.*; @@ -50,7 +51,7 @@ public class DataOverviewController { */ @PostMapping("/listSimulationNodeFiles") @Operation(summary = "dimensionTemplateId+fileId支持进入文件夹和节点文件夹查询下一层,支持分页查询") - public SdmResponse listSimulationNodeFiles(@RequestBody ListSimulationNodeTreeReq req) { + public SdmResponse>> listSimulationNodeFiles(@RequestBody ListSimulationNodeTreeReq req) { return dimensionTemplateService.listSimulationNodeFiles(req); } diff --git a/data/src/main/java/com/sdm/data/model/dto/FileMetadataChildrenDTO.java b/data/src/main/java/com/sdm/data/model/dto/FileMetadataChildrenDTO.java index c7ec079d..9fe688f4 100644 --- a/data/src/main/java/com/sdm/data/model/dto/FileMetadataChildrenDTO.java +++ b/data/src/main/java/com/sdm/data/model/dto/FileMetadataChildrenDTO.java @@ -15,6 +15,11 @@ public class FileMetadataChildrenDTO extends FileMetadataInfoResp { @Schema(description = "子节点列表") private List children; + /** + * 聚合文件ID列表 + */ + private List fileIds; + @Schema(description = "总名称(去除projectNode/前缀的bucketName)") private String totalName; } \ No newline at end of file diff --git a/data/src/main/java/com/sdm/data/service/IDimensionTemplateService.java b/data/src/main/java/com/sdm/data/service/IDimensionTemplateService.java index 51673ddd..773ec767 100644 --- a/data/src/main/java/com/sdm/data/service/IDimensionTemplateService.java +++ b/data/src/main/java/com/sdm/data/service/IDimensionTemplateService.java @@ -3,6 +3,7 @@ package com.sdm.data.service; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.data.CreateDirReq; import com.sdm.common.entity.req.data.UploadFilesReq; +import com.sdm.common.entity.resp.PageDataResp; import com.sdm.data.model.dto.FileMetadataChildrenDTO; import com.sdm.data.model.entity.DimensionTemplate; import com.baomidou.mybatisplus.extension.service.IService; @@ -39,7 +40,7 @@ public interface IDimensionTemplateService extends IService { * @param req 获取模拟节点树的请求参数 * @return SdmResponse 响应对象,包含模拟节点树数据或错误信息 */ - SdmResponse listSimulationNodeFiles(ListSimulationNodeTreeReq req); + SdmResponse>> listSimulationNodeFiles(ListSimulationNodeTreeReq req); SdmResponse createSimulationNodeDir(CreateDirReq req); 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 f9d152b6..c668b54e 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 @@ -314,9 +314,27 @@ public class DimensionTemplateServiceImpl extends ServiceImpl { + LocalDateTime maxCreateTime1 = dto1.getChildren().stream() + .map(FileMetadataInfoResp::getCreateTime) + .filter(Objects::nonNull) + .max(LocalDateTime::compareTo) + .orElse(LocalDateTime.MIN); + + LocalDateTime maxCreateTime2 = dto2.getChildren().stream() + .map(FileMetadataInfoResp::getCreateTime) + .filter(Objects::nonNull) + .max(LocalDateTime::compareTo) + .orElse(LocalDateTime.MIN); + + return maxCreateTime2.compareTo(maxCreateTime1); // 倒序排序 + }); return result; } @@ -330,7 +348,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl>> listSimulationNodeFiles(ListSimulationNodeTreeReq req) { Long tenantId = ThreadLocalContext.getTenantId(); // 处理空参数情况 @@ -349,7 +367,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl>> handleRootDirectory(ListSimulationNodeTreeReq req, Long tenantId) { GetSimulationNodeTreeReq getSimulationNodeTreeReq = new GetSimulationNodeTreeReq(); getSimulationNodeTreeReq.setDimensionTemplateId(req.getDimensionTemplateId()); getSimulationNodeTreeReq.setFileIds(null); @@ -363,7 +381,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl>> handleNormalDirectory(ListSimulationNodeTreeReq req, Long tenantId) { GetSimulationNodeTreeReq getSimulationNodeTreeReq = new GetSimulationNodeTreeReq(); getSimulationNodeTreeReq.setDimensionTemplateId(req.getDimensionTemplateId()); getSimulationNodeTreeReq.setFileIds(req.getFileIds()); @@ -391,7 +409,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl fileMetadataInfos, ListSimulationNodeTreeReq req) { + private SdmResponse>> processAndPageResults(List fileMetadataInfos, ListSimulationNodeTreeReq req) { // 设置创建者名称 setCreatorNames(fileMetadataInfos); diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index e4008c80..2afb358b 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -1525,6 +1525,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { return SdmResponse.success(dtoList); } catch (Exception e) { + log.error("获取目录列表失败", e); return SdmResponse.failed("获取目录列表失败"); } } diff --git a/data/src/main/resources/mapper/FileMetadataInfoMapper.xml b/data/src/main/resources/mapper/FileMetadataInfoMapper.xml index 0307df75..2e7d4943 100644 --- a/data/src/main/resources/mapper/FileMetadataInfoMapper.xml +++ b/data/src/main/resources/mapper/FileMetadataInfoMapper.xml @@ -19,11 +19,12 @@ AND file_storage.fileId IS NOT NULL + ORDER BY updateTime DESC \ No newline at end of file