支持任务名称修改

This commit is contained in:
wanxiaoli 2026-01-11 15:01:31 +08:00
parent 0e28431435
commit 2ea468c04c
3 changed files with 66 additions and 39 deletions

View File

@ -167,7 +167,7 @@ public class TsNodesController {
if ("IN_PROGRESS".equals(existingStatus)) { if ("IN_PROGRESS".equals(existingStatus)) {
return ResponseResult.success("试验数据扫描任务正在处理中!"); return ResponseResult.success("试验数据扫描任务正在处理中!");
} else if ("COMPLETED".equals(existingStatus)) { } else if ("COMPLETED".equals(existingStatus)) {
return ResponseResult.success("验数据扫描任务已完成!"); return ResponseResult.success("验数据扫描任务已完成!");
} }
UsernamePasswordAuthenticationToken authentication = (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication(); UsernamePasswordAuthenticationToken authentication = (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication();
LoginUser loginuser = (LoginUser) authentication.getPrincipal(); LoginUser loginuser = (LoginUser) authentication.getPrincipal();

View File

@ -6395,6 +6395,8 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
@Override @Override
public Map<String, TsFiles> splitFile(String id,String taskId,File jsonFile) throws Exception { public Map<String, TsFiles> splitFile(String id,String taskId,File jsonFile) throws Exception {
//1:动态表名 以及通过ID查询tsfiles 然后根据id path taskId nodeid 等等条件查询所欲的集合 //1:动态表名 以及通过ID查询tsfiles 然后根据id path taskId nodeid 等等条件查询所欲的集合
Map<String, TsFiles> resultMap = new HashMap<>();
try {
TsTask tsTask = tsTaskMapper.selectById(taskId); TsTask tsTask = tsTaskMapper.selectById(taskId);
TableNameContextHolder.setTaskCode(tsTask.getTaskCode()); TableNameContextHolder.setTaskCode(tsTask.getTaskCode());
StorageSource storageSource = getStorageConfig(tsTask.getLocalStorageId()); StorageSource storageSource = getStorageConfig(tsTask.getLocalStorageId());
@ -6416,7 +6418,7 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
Map<String, String> outputPaths = insFileConvertNewService.convert(sourceFile, jsonFile); Map<String, String> outputPaths = insFileConvertNewService.convert(sourceFile, jsonFile);
// 3. 生成TsFiles对象集合 // 3. 生成TsFiles对象集合
Map<String, TsFiles> resultMap = new HashMap<>();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 遍历所有输出文件 // 遍历所有输出文件
@ -6437,6 +6439,9 @@ public class TsFilesServiceImpl extends ServiceImpl<TsFilesMapper, TsFiles> impl
resultMap.put(outputName, ts); resultMap.put(outputName, ts);
} }
} finally {
TableNameContextHolder.clear(); // 确保清理资源
}
return resultMap; return resultMap;

View File

@ -494,7 +494,9 @@ public class TsTaskServiceImpl extends ServiceImpl<TsTaskMapper, TsTask> impleme
@Override @Override
public boolean updatetsTask(TsTask tsTask) throws IOException { public boolean updatetsTask(TsTask tsTask) throws IOException {
Boolean value = false; Boolean value = false;
//生成任务名称 任务开始时间_结束时间_地点_载机名称_设备代号_编号
String taskName = buildTaskName(tsTask);
tsTask.setTaskName(taskName);
//处理属性 //处理属性
String frontEndJson = tsTask.getTaskProps(); String frontEndJson = tsTask.getTaskProps();
List<TsTask> tsTasksList = tsTaskMapper.selectList(new LambdaQueryWrapper<>()); List<TsTask> tsTasksList = tsTaskMapper.selectList(new LambdaQueryWrapper<>());
@ -506,10 +508,30 @@ public class TsTaskServiceImpl extends ServiceImpl<TsTaskMapper, TsTask> impleme
tsTaskMapper.updateById(tsTaskData); tsTaskMapper.updateById(tsTaskData);
} }
} }
//修改的时候判断本地存储空间是不是发生了变化 如果是的话 需要重新创建本地文件 //修改的时候判断本地存储空间是不是发生了变化 如果是的话 需要重新创建本地文件
TsTask TsTaskOld = tsTaskMapper.selectById(tsTask.getId()); TsTask TsTaskOld = tsTaskMapper.selectById(tsTask.getId());
StorageSource storageSource = getStorageConfig(tsTask.getLocalStorageId()); StorageSource storageSource = getStorageConfig(tsTask.getLocalStorageId());
if(!TsTaskOld.getTaskName().equals(tsTask.getTaskName())){
String path = "/";
//新增节点的时候 创建文件夹
NewFolderRequest newFolderRequest = new NewFolderRequest();
newFolderRequest.setName(tsTask.getTaskName());//新建的文件夹名称,示例值(/a/b/c)
newFolderRequest.setPassword("");//文件夹密码, 如果文件夹需要密码才能访问则支持请求密码,示例值(123456)
newFolderRequest.setPath(path);//请求路径,示例值(/)
newFolderRequest.setStorageKey(storageSource.getKey());//存储源 key,示例值(local minio)
AbstractBaseFileService<?> fileService = storageSourceContext.getByStorageKey(newFolderRequest.getStorageKey());
boolean flag = fileService.newFolder(newFolderRequest.getPath(), newFolderRequest.getName());
//删除旧文件夹
NewFolderRequest oldFolderRequest = new NewFolderRequest();
oldFolderRequest.setName(TsTaskOld.getTaskName());//新建的文件夹名称,示例值(/a/b/c)
oldFolderRequest.setPassword("");//文件夹密码, 如果文件夹需要密码才能访问则支持请求密码,示例值(123456)
oldFolderRequest.setPath(path);//请求路径,示例值(/)
oldFolderRequest.setStorageKey(storageSource.getKey());//存储源 key,示例值(local minio)
AbstractBaseFileService<?> fileServiceOld = storageSourceContext.getByStorageKey(oldFolderRequest.getStorageKey());
boolean flagOld = fileServiceOld.deleteFolder(oldFolderRequest.getPath(), oldFolderRequest.getName());
}
//如果存储空间和名称都没有该表的情况下 //如果存储空间和名称都没有该表的情况下
if (!TsTaskOld.getLocalStorageId().equals(tsTask.getLocalStorageId())) { if (!TsTaskOld.getLocalStorageId().equals(tsTask.getLocalStorageId())) {
String path = "/"; String path = "/";