fix:文件列表展示数据时,需要文件夹在前面,文件在后面

This commit is contained in:
2026-02-05 10:45:32 +08:00
parent a54c51e659
commit 4b152eb21b
4 changed files with 30 additions and 3 deletions

View File

@@ -360,8 +360,16 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
}
if(CollectionUtils.isNotEmpty(result)) {
// 根据children中的最大创建时间对result进行倒序排序
// 先按dataType排序文件夹在前dataType=1文件在后dataType=2再按children中的最大创建时间倒序排序
result.sort((dto1, dto2) -> {
// 首先按dataType排序文件夹(1)在前,文件(2)在后
Integer dataType1 = dto1.getDataType();
Integer dataType2 = dto2.getDataType();
if (dataType1 != null && dataType2 != null && !dataType1.equals(dataType2)) {
return dataType1.compareTo(dataType2); // 升序1(文件夹) < 2(文件)
}
// dataType相同或都为null时按创建时间倒序排序
LocalDateTime maxCreateTime1 = dto1.getMergeSameNameChildren().stream()
.map(FileMetadataInfoResp::getCreateTime)
.filter(Objects::nonNull)

View File

@@ -875,6 +875,9 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
.eq(FileMetadataInfo::getIsLatest, FileIsLastEnum.YES.getValue())
// 审核完成 ,元数据修改审核中,文件修改审核中,删除文件审核中
.in(FileMetadataInfo::getApproveType,fileDatdList)
// 文件夹在前(dataType=1),文件在后(dataType=2),同类型内按名称升序
.orderByAsc(FileMetadataInfo::getDataType)
.orderByDesc(FileMetadataInfo::getCreateTime)
.list();
// 创建人赋值
setCreatorNames(list);

View File

@@ -62,6 +62,6 @@
</if>
<!-- 排序:无论是否联合,都对最终结果排序 -->
ORDER BY updateTime DESC
ORDER BY dataType ASC, updateTime DESC
</select>
</mapper>