1、调整分发任务时,对任务文件夹的操作逻辑

This commit is contained in:
2026-02-06 10:46:53 +08:00
parent 0d8fbb4dea
commit 9ee0344f37

View File

@@ -9,10 +9,7 @@ import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.constants.ProjectConstants;
import com.sdm.common.entity.enums.*;
import com.sdm.common.entity.req.data.BatchUpdatePermissionReq;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.data.DelDirReq;
import com.sdm.common.entity.req.data.UpdatePermissionReq;
import com.sdm.common.entity.req.data.*;
import com.sdm.common.entity.req.export.PerformanceAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.RunAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.TaskAnalysisExportExcelFormat;
@@ -27,6 +24,7 @@ import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
import com.sdm.common.entity.req.task.TaskExportExcelParam;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
import com.sdm.common.entity.resp.project.SpdmTaskVo;
import com.sdm.common.entity.resp.project.TaskNodeExtraPo;
import com.sdm.common.entity.resp.system.CIDStaffResp;
@@ -4016,12 +4014,23 @@ public class TaskServiceImpl implements ITaskService {
String relateTag = judgeTaskTag(req, spdmBatchTaskOprTagReq);
log.info("relateTag为{}", relateTag);
if (StringUtils.isNotBlank(relateTag)) {
// 删除原来的文件夹
SdmResponse taskDelDirResponse = deleteDirById(taskId);
if (ObjectUtils.isEmpty(taskDelDirResponse) || taskDelDirResponse.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("删除任务:{}的文件夹失败,原因为:{}", task.getTaskName(), taskDelDirResponse.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("删除任务:" + task.getTaskName() + "的文件夹失败,原因:" + taskDelDirResponse.getMessage());
// 查询原来的任务是否有文件夹
GetFileBaseInfoReq getFileBaseInfoReq = new GetFileBaseInfoReq();
getFileBaseInfoReq.setUuid(taskId);
log.info("调用获取文件的基本信息的参数为:{}",getFileBaseInfoReq);
SdmResponse<FileMetadataInfoResp> fileBaseInfo = dataClientFeignClient.getFileBaseInfo(getFileBaseInfoReq);
log.info("调用获取文件的基本信息的返回值为:{}",fileBaseInfo);
if (fileBaseInfo.isSuccess() && ObjectUtils.isNotEmpty(fileBaseInfo.getData())) {
log.info("当前任务:{},已创建过文件夹",taskId);
// 删除原来的任务文件夹
SdmResponse taskDelDirResponse = deleteDirById(taskId);
if (ObjectUtils.isEmpty(taskDelDirResponse) || taskDelDirResponse.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("删除任务:{}的文件夹失败,原因为:{}", task.getTaskName(), taskDelDirResponse.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("删除任务:" + task.getTaskName() + "的文件夹失败,原因:" + taskDelDirResponse.getMessage());
}
}else {
log.info("当前任务:{},没有创建过文件夹",taskId);
}
// 并新建relateTag下的文件夹
SdmResponse taskCreateDirResponse = createDirNew(task.getUuid(), NodeTypeEnum.TASK.getValue(), relateTag, task.getTaskName());