1、修改batchOperation

This commit is contained in:
2026-02-06 16:50:27 +08:00
parent c69279f2e6
commit a44e6a5562

View File

@@ -4039,11 +4039,77 @@ public class TaskServiceImpl implements ITaskService {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("新建任务:" + task.getTaskName() + "的文件夹失败,原因:" + taskCreateDirResponse.getMessage());
}
}else {
// 查询原来的任务是否有文件夹
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);
}else {
log.info("当前任务:{},没有创建过文件夹,进行创建,兼容原来的逻辑",taskId);
String maxNonEmptyTag = getMaxNonEmptyTag(spdmBatchTaskOprTagReq);
log.info("maxNonEmptyTag为{}",maxNonEmptyTag);
if (StringUtils.isBlank(maxNonEmptyTag)) {
log.error("新建任务:{}的文件夹失败,原因为:{}", task.getTaskName(), "未查询到任务上层节点");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("新建任务:" + task.getTaskName() + "的文件夹失败,原因:" + "未查询到任务上层节点");
}
SdmResponse taskCreateDirResponse = createDirNew(task.getUuid(), NodeTypeEnum.TASK.getValue(), maxNonEmptyTag, task.getTaskName());
if (ObjectUtils.isEmpty(taskCreateDirResponse) || taskCreateDirResponse.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("新建任务:{}的文件夹失败,原因为:{}", task.getTaskName(), taskCreateDirResponse.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("新建任务:" + task.getTaskName() + "的文件夹失败,原因:" + taskCreateDirResponse.getMessage());
}
}
}
}
return SdmResponse.success();
}
/**
* 返回 tag 数字最大的不为空的值
* @param req SpdmBatchTaskOprTagReq 对象
* @return 最大编号的非空 tag 值,无则返回 null
*/
public static String getMaxNonEmptyTag(SpdmBatchTaskOprTagReq req) {
// 空对象校验
if (req == null) {
return null;
}
// 按编号从大到小检查,找到第一个非空值立即返回
if (StringUtils.isNotBlank(req.getTag8())) {
return req.getTag8();
}
if (StringUtils.isNotBlank(req.getTag7())) {
return req.getTag7();
}
if (StringUtils.isNotBlank(req.getTag6())) {
return req.getTag6();
}
if (StringUtils.isNotBlank(req.getTag5())) {
return req.getTag5();
}
if (StringUtils.isNotBlank(req.getTag4())) {
return req.getTag4();
}
if (StringUtils.isNotBlank(req.getTag3())) {
return req.getTag3();
}
if (StringUtils.isNotBlank(req.getTag2())) {
return req.getTag2();
}
if (StringUtils.isNotBlank(req.getTag1())) {
return req.getTag1();
}
// 所有 tag 都为空
return null;
}
/**
* 返回不同字段的最大tag
@@ -4057,13 +4123,13 @@ public class TaskServiceImpl implements ITaskService {
if (spdmBatchTaskOprReq == null || spdmBatchTaskOprTagReq == null) {
throw new IllegalArgumentException("比较的对象不能为null");
}
// 倒序遍历(10到1找到第一个不同的直接返回
if (!equalsWithNull(spdmBatchTaskOprReq.getTag10(), spdmBatchTaskOprTagReq.getTag10())) {
return spdmBatchTaskOprReq.getTag10();
}
if (!equalsWithNull(spdmBatchTaskOprReq.getTag9(), spdmBatchTaskOprTagReq.getTag9())) {
return spdmBatchTaskOprReq.getTag9();
}
// 倒序遍历(8到1找到第一个不同的直接返回
// if (!equalsWithNull(spdmBatchTaskOprReq.getTag10(), spdmBatchTaskOprTagReq.getTag10())) {
// return spdmBatchTaskOprReq.getTag10();
// }
// if (!equalsWithNull(spdmBatchTaskOprReq.getTag9(), spdmBatchTaskOprTagReq.getTag9())) {
// return spdmBatchTaskOprReq.getTag9();
// }
if (!equalsWithNull(spdmBatchTaskOprReq.getTag8(), spdmBatchTaskOprTagReq.getTag8())) {
return spdmBatchTaskOprReq.getTag8();
}