提交代码

This commit is contained in:
lilin 2025-05-08 21:01:47 +08:00
parent ed9245323e
commit 0c69fb7098

View File

@ -2508,15 +2508,13 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
// .ne("work_path", "") // .ne("work_path", "")
// .and(wq -> wq.isNull("backup_path").or().eq("backup_path", "")); // .and(wq -> wq.isNull("backup_path").or().eq("backup_path", ""));
} }
Page<TsFiles> tsFilesPage = tsFilesMapper.selectPage(page, queryWrapper); List<TsFiles> parentFiles = tsFilesMapper.selectList(queryWrapper);
if (tsFilesPage == null) {
tsFilesPage = new Page<>();
tsFilesPage.setRecords(new ArrayList<>()); // 确保 records 被初始化
}
List<TsFiles> records = tsFilesPage.getRecords();
// 递归查询每个记录的子节点并添加到 records // 递归查询每个记录的子节点并添加到 records
List<TsFiles> allFiles = new ArrayList<>(); List<TsFiles> allFiles = new ArrayList<>();
for (TsFiles tsFiles : records) { for (TsFiles tsFiles : parentFiles) {
tsFiles.setWorkPath(processingPath(tsFiles.getWorkPath(), tsFiles.getNodeId())); // 优化点11路径处理内聚 tsFiles.setWorkPath(processingPath(tsFiles.getWorkPath(), tsFiles.getNodeId())); // 优化点11路径处理内聚
// 如果备份路径为空 增加 将当前节点加入结果列表 // 如果备份路径为空 增加 将当前节点加入结果列表
if (StringUtils.isEmpty(tsFiles.getBackupPath())) { if (StringUtils.isEmpty(tsFiles.getBackupPath())) {
@ -2525,13 +2523,26 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
} }
// 查询该节点的所有子节点并递归添加 // 查询该节点的所有子节点并递归添加
if ("FOLDER".equals(tsFiles.getIsFile())) { if ("FOLDER".equals(tsFiles.getIsFile())) {
List<TsFiles> childFiles = getChildFilesRecursiveLocal(tsFiles.getId(), allFiles); getChildFilesRecursiveLocal(tsFiles.getId(), allFiles);
} }
} }
tsFilesPage.setTotal(allFiles.size());
tsFilesPage.setRecords(allFiles); // 更新 tsFilesPage 中的 records // ==================== 3. 内存分页处理 ====================
System.out.println("Updated all files: " + allFiles); int total = allFiles.size();
return tsFilesPage; int pageSize = (int) page.getSize();
int currentPage = (int) page.getCurrent();
int fromIndex = (currentPage - 1) * pageSize;
int toIndex = Math.min(fromIndex + pageSize, total);
// 构建分页结果
Page<TsFiles> resultPage = new Page<>(currentPage, pageSize, total);
if (fromIndex < total) {
resultPage.setRecords(allFiles.subList(fromIndex, toIndex));
} else {
resultPage.setRecords(Collections.emptyList());
}
return resultPage;
} }
// 递归查询所有子节点 // 递归查询所有子节点
@ -2640,16 +2651,10 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
// .ne("backup_path", "") // .ne("backup_path", "")
// .and(wq -> wq.isNull("work_path").or().eq("work_path", "")); // .and(wq -> wq.isNull("work_path").or().eq("work_path", ""));
} }
Page<TsFiles> tsFilesPage = tsFilesMapper.selectPage(page, queryWrapper); List<TsFiles> parentFiles = tsFilesMapper.selectList(queryWrapper);
if (tsFilesPage == null) {
tsFilesPage = new Page<>();
tsFilesPage.setRecords(new ArrayList<>()); // 确保 records 被初始化
}
List<TsFiles> records = tsFilesPage.getRecords();
// 递归查询每个记录的子节点并添加到 records // 递归查询每个记录的子节点并添加到 records
List<TsFiles> allFiles = new ArrayList<>(); List<TsFiles> allFiles = new ArrayList<>();
for (TsFiles tsFiles : records) { for (TsFiles tsFiles : parentFiles) {
tsFiles.setBackupPath(processingPath(tsFiles.getBackupPath(), tsFiles.getNodeId())); tsFiles.setBackupPath(processingPath(tsFiles.getBackupPath(), tsFiles.getNodeId()));
// 如果工作路径为空 增加 将当前节点加入结果列表 // 如果工作路径为空 增加 将当前节点加入结果列表
if (StringUtils.isEmpty(tsFiles.getWorkPath())) { if (StringUtils.isEmpty(tsFiles.getWorkPath())) {
@ -2658,13 +2663,24 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
} }
// 查询该节点的所有子节点并递归添加 // 查询该节点的所有子节点并递归添加
if ("FOLDER".equals(tsFiles.getIsFile())) { if ("FOLDER".equals(tsFiles.getIsFile())) {
List<TsFiles> childFiles = getChildFilesRecursiveMinio(tsFiles.getId(), allFiles); getChildFilesRecursiveMinio(tsFiles.getId(), allFiles);
} }
} }
tsFilesPage.setTotal(allFiles.size()); // ==================== 3. 内存分页处理 ====================
tsFilesPage.setRecords(allFiles); // 同步到 tsFilesPage int total = allFiles.size();
System.out.println("Updated records: " + allFiles); int pageSize = (int) page.getSize();
return tsFilesPage; int currentPage = (int) page.getCurrent();
int fromIndex = (currentPage - 1) * pageSize;
int toIndex = Math.min(fromIndex + pageSize, total);
// 构建分页结果
Page<TsFiles> resultPage = new Page<>(currentPage, pageSize, total);
if (fromIndex < total) {
resultPage.setRecords(allFiles.subList(fromIndex, toIndex));
} else {
resultPage.setRecords(Collections.emptyList());
}
return resultPage;
} }
// 递归查询所有子节点 // 递归查询所有子节点