提交代码
This commit is contained in:
parent
02956c8e44
commit
0d8b64e47e
@ -3,7 +3,6 @@ package com.yfd.platform.modules.experimentalData.service.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
|
||||
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.*;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
@ -2504,30 +2503,35 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
throw new IllegalArgumentException("dataset参数不可为空"); // 优化点9:提前校验参数
|
||||
}
|
||||
queryWrapper.in("id", dataset);
|
||||
|
||||
// .isNotNull("work_path")
|
||||
// .ne("work_path", "")
|
||||
// .and(wq -> wq.isNull("backup_path").or().eq("backup_path", ""));
|
||||
}
|
||||
List<TsFiles> parentFiles = tsFilesMapper.selectList(queryWrapper);
|
||||
|
||||
|
||||
|
||||
// 递归查询每个记录的子节点,并添加到 records 中
|
||||
List<TsFiles> allFiles = new ArrayList<>();
|
||||
for (TsFiles tsFiles : parentFiles) {
|
||||
tsFiles.setWorkPath(processingPath(tsFiles.getWorkPath(), tsFiles.getNodeId())); // 优化点11:路径处理内聚
|
||||
// 如果备份路径为空 增加 将当前节点加入结果列表
|
||||
if (StringUtils.isEmpty(tsFiles.getBackupPath())) {
|
||||
allFiles.add(tsFiles);
|
||||
|
||||
if(StringUtils.isNotBlank(nodeId)&&StringUtils.isNotBlank(taskId)){
|
||||
for (TsFiles tsFiles : parentFiles) {
|
||||
tsFiles.setWorkPath(processingPath(tsFiles.getWorkPath(), tsFiles.getNodeId())); // 优化点11:路径处理内聚
|
||||
// 如果备份路径为空 增加 将当前节点加入结果列表
|
||||
if (StringUtils.isEmpty(tsFiles.getBackupPath())) {
|
||||
allFiles.add(tsFiles);
|
||||
}
|
||||
}
|
||||
// 查询该节点的所有子节点并递归添加
|
||||
if ("FOLDER".equals(tsFiles.getIsFile())) {
|
||||
getChildFilesRecursiveLocal(tsFiles.getId(), allFiles);
|
||||
}else {
|
||||
for (TsFiles tsFiles : parentFiles) {
|
||||
tsFiles.setWorkPath(processingPath(tsFiles.getWorkPath(), tsFiles.getNodeId())); // 优化点11:路径处理内聚
|
||||
// 如果备份路径为空 增加 将当前节点加入结果列表
|
||||
if (StringUtils.isEmpty(tsFiles.getBackupPath()) && "FILE".equals(tsFiles.getIsFile())) {
|
||||
allFiles.add(tsFiles);
|
||||
}
|
||||
// 查询该节点的所有子节点并递归添加
|
||||
if ("FOLDER".equals(tsFiles.getIsFile())) {
|
||||
getChildFilesRecursiveLocal(tsFiles.getId(), allFiles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ==================== 3. 内存分页处理 ====================
|
||||
int total = allFiles.size();
|
||||
int pageSize = (int) page.getSize();
|
||||
@ -2565,7 +2569,9 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
// 对每个子节点递归查询其子节点
|
||||
for (TsFiles child : children) {
|
||||
child.setWorkPath(processingPath(child.getWorkPath(), child.getNodeId())); // 优化点11:路径处理内聚
|
||||
allFiles.add(child);
|
||||
if (StringUtils.isEmpty(child.getBackupPath())) {
|
||||
allFiles.add(child);
|
||||
}
|
||||
if ("FOLDER".equals(child.getIsFile())) {
|
||||
List<TsFiles> childChildFiles = getChildFilesRecursiveLocal(child.getId(), allFiles);
|
||||
}
|
||||
@ -2597,7 +2603,7 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
}
|
||||
List<TsFiles> records = tsFilesMapper.selectList(queryWrapper);
|
||||
if (records == null) {
|
||||
return records;
|
||||
return records;
|
||||
}
|
||||
|
||||
// 递归查询每个记录的子节点,并添加到 records 中
|
||||
@ -2655,18 +2661,31 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
List<TsFiles> parentFiles = tsFilesMapper.selectList(queryWrapper);
|
||||
// 递归查询每个记录的子节点,并添加到 records 中
|
||||
List<TsFiles> allFiles = new ArrayList<>();
|
||||
for (TsFiles tsFiles : parentFiles) {
|
||||
tsFiles.setBackupPath(processingPath(tsFiles.getBackupPath(), tsFiles.getNodeId()));
|
||||
// 如果工作路径为空 增加 将当前节点加入结果列表
|
||||
if (StringUtils.isEmpty(tsFiles.getWorkPath())) {
|
||||
allFiles.add(tsFiles);
|
||||
|
||||
if(StringUtils.isNotBlank(nodeId)&&StringUtils.isNotBlank(taskId)){
|
||||
for (TsFiles tsFiles : parentFiles) {
|
||||
tsFiles.setWorkPath(processingPath(tsFiles.getWorkPath(), tsFiles.getNodeId())); // 优化点11:路径处理内聚
|
||||
// 如果备份路径为空 增加 将当前节点加入结果列表
|
||||
if (StringUtils.isEmpty(tsFiles.getWorkPath())) {
|
||||
allFiles.add(tsFiles);
|
||||
}
|
||||
}
|
||||
// 查询该节点的所有子节点并递归添加
|
||||
if ("FOLDER".equals(tsFiles.getIsFile())) {
|
||||
getChildFilesRecursiveMinio(tsFiles.getId(), allFiles);
|
||||
}else {
|
||||
for (TsFiles tsFiles : parentFiles) {
|
||||
tsFiles.setBackupPath(processingPath(tsFiles.getBackupPath(), tsFiles.getNodeId()));
|
||||
// 如果工作路径为空 增加 将当前节点加入结果列表
|
||||
if (StringUtils.isEmpty(tsFiles.getWorkPath())) {
|
||||
allFiles.add(tsFiles);
|
||||
}
|
||||
// 查询该节点的所有子节点并递归添加
|
||||
if ("FOLDER".equals(tsFiles.getIsFile())) {
|
||||
getChildFilesRecursiveMinio(tsFiles.getId(), allFiles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ==================== 3. 内存分页处理 ====================
|
||||
int total = allFiles.size();
|
||||
int pageSize = (int) page.getSize();
|
||||
@ -2700,9 +2719,9 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
// 对每个子节点递归查询其子节点
|
||||
for (TsFiles child : children) {
|
||||
child.setBackupPath(processingPath(child.getBackupPath(), child.getNodeId()));
|
||||
|
||||
allFiles.add(child);
|
||||
|
||||
if (StringUtils.isEmpty(child.getWorkPath())) {
|
||||
allFiles.add(child);
|
||||
}
|
||||
if ("FOLDER".equals(child.getIsFile())) {
|
||||
List<TsFiles> childChildFiles = getChildFilesRecursiveLocal(child.getId(), allFiles);
|
||||
}
|
||||
@ -2839,7 +2858,6 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<TsFiles> compareMd5List(List<String> dataset, String nodeId, String taskId) {
|
||||
// 获取本地文件路径根目录和存储空间名称
|
||||
@ -2900,8 +2918,6 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 递归查询所有子节点
|
||||
private List<TsFiles> getChildFilesRecursiveMd5(String parentId, List<TsFiles> allFiles) {
|
||||
// 构建查询条件,获取当前parentId的所有子节点
|
||||
@ -3235,6 +3251,7 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
taskStatusHolder.finishTask(asyncKey);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void automaticFileBackupAsyncByIds(List<String> dataset) {
|
||||
@ -3250,8 +3267,6 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**********************************
|
||||
* 用途说明: 文件自动备份通过节点和任务
|
||||
* 参数说明 taskId 节点ID
|
||||
@ -4774,10 +4789,10 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
public Boolean deleteTsFilesByNodeId(String nodeId, String taskId) {
|
||||
List<StorageSource> storageSourceList = storageSourceMapper.selectList(new QueryWrapper<StorageSource>());
|
||||
int deleteSuccessCount = 0, deleteFailCount = 0;
|
||||
Boolean value = false;
|
||||
Boolean value = false;
|
||||
|
||||
for (StorageSource storageSource : storageSourceList){
|
||||
//如果是文件夹
|
||||
for (StorageSource storageSource : storageSourceList) {
|
||||
//如果是文件夹
|
||||
List<BatchDeleteRequest.DeleteItem> deleteItemList = new ArrayList<>();
|
||||
BatchDeleteRequest.DeleteItem deleteItemData = new BatchDeleteRequest.DeleteItem();
|
||||
deleteItemData.setName(nodeId);
|
||||
@ -4820,8 +4835,8 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
if (deleteSuccessCount >= 1) {
|
||||
//删除数据库
|
||||
QueryWrapper<TsFiles> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("node_id",nodeId);
|
||||
queryWrapper.eq("task_id",taskId);
|
||||
queryWrapper.eq("node_id", nodeId);
|
||||
queryWrapper.eq("task_id", taskId);
|
||||
int valueDelete = tsFilesMapper.delete(queryWrapper);
|
||||
if (valueDelete > 0) {
|
||||
value = true;
|
||||
@ -4849,7 +4864,6 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user