From f71095d59815976114dd49b911292adcb5eb8db9 Mon Sep 17 00:00:00 2001 From: lvzk <897706680@qq.com> Date: Fri, 8 Aug 2025 16:27:52 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=E5=88=9B=E5=BB=BA=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=8C=96=E4=BD=9C=E4=B8=9A=E8=A1=A5=E5=85=85=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E5=BC=95=E7=94=A8=E4=BD=9C=E4=B8=9A=E5=8F=82=E6=95=B0?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=E6=98=AF=E4=BD=9C=E4=B8=9A=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=B2=A1=E4=BC=A0=E6=88=96=E8=80=85=E4=B8=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E7=9A=84=E8=AF=A6=E7=BB=86=E5=BC=82=E5=B8=B8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/node/UpdateNodesByParamsHandler.java | 4 ++++ .../action/AutoexecJobSourceTypeHandler.java | 7 ++++--- .../service/AutoexecJobServiceImpl.java | 19 ++++++++++++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByParamsHandler.java b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByParamsHandler.java index 0f2abc21..056201c6 100644 --- a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByParamsHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByParamsHandler.java @@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject; import neatlogic.framework.autoexec.dto.AutoexecParamVo; import neatlogic.framework.autoexec.dto.combop.AutoexecCombopExecuteNodeConfigVo; import neatlogic.framework.autoexec.dto.job.AutoexecJobVo; +import neatlogic.framework.autoexec.exception.job.JobParamNodeNullException; import neatlogic.framework.autoexec.job.node.IUpdateNodes; import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; @@ -75,6 +76,9 @@ public class UpdateNodesByParamsHandler implements IUpdateNodes { if (CollectionUtils.isNotEmpty(runTimeParamList)) { List paramObjList = runTimeParamList.stream().filter(p -> paramList.contains(p.getKey())).collect(Collectors.toList()); paramObjList.forEach(p -> { + if (!(p.getValue() instanceof JSONArray) || CollectionUtils.isEmpty((JSONArray) p.getValue())) { + throw new JobParamNodeNullException(p.getKey()); + } if (p.getValue() instanceof JSONArray) { JSONArray valueArray = (JSONArray) p.getValue(); for (int i = 0; i < valueArray.size(); i++) { diff --git a/src/main/java/neatlogic/module/autoexec/job/source/action/AutoexecJobSourceTypeHandler.java b/src/main/java/neatlogic/module/autoexec/job/source/action/AutoexecJobSourceTypeHandler.java index 30af69c7..37f6f156 100644 --- a/src/main/java/neatlogic/module/autoexec/job/source/action/AutoexecJobSourceTypeHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/source/action/AutoexecJobSourceTypeHandler.java @@ -17,7 +17,6 @@ import neatlogic.framework.autoexec.dto.job.*; import neatlogic.framework.autoexec.exception.*; import neatlogic.framework.autoexec.exception.job.JobParamNullException; import neatlogic.framework.autoexec.exception.job.JobParamRunnerGroupNullException; -import neatlogic.framework.autoexec.exception.job.JobParamRunnerGroupTagNullException; import neatlogic.framework.autoexec.job.source.type.AutoexecJobSourceTypeHandlerBase; import neatlogic.framework.autoexec.util.AutoexecUtil; import neatlogic.framework.common.util.IpUtil; @@ -285,7 +284,8 @@ public class AutoexecJobSourceTypeHandler extends AutoexecJobSourceTypeHandlerBa } } } catch (JobParamNullException e) { - throw new JobParamRunnerGroupTagNullException(jobPhaseVo.getName(), combopPhaseExecuteConfigVo.getExecuteConfig().getRunnerGroupTag().getValue()); + //作业执行器组标签非必填 +// throw new JobParamRunnerGroupTagNullException(jobPhaseVo.getName(), combopPhaseExecuteConfigVo.getExecuteConfig().getRunnerGroupTag().getValue()); } } //其次获取创建作业时声明的执行器组标签 @@ -301,7 +301,8 @@ public class AutoexecJobSourceTypeHandler extends AutoexecJobSourceTypeHandlerBa throw new AutoexecRunnerGroupTagInvalidException(runnerGroupTagStr); } } catch (JobParamNullException e) { - throw new JobParamRunnerGroupTagNullException(jobPhaseVo.getName(), runnerGroupTagParam.getValue()); + //作业执行器组标签非必填 +// throw new JobParamRunnerGroupTagNullException(jobPhaseVo.getName(), runnerGroupTagParam.getValue()); } } diff --git a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java index 387d9738..a8a4459f 100644 --- a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java +++ b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java @@ -36,6 +36,7 @@ import neatlogic.framework.autoexec.dto.script.AutoexecScriptVersionVo; import neatlogic.framework.autoexec.dto.script.AutoexecScriptVo; import neatlogic.framework.autoexec.exception.*; import neatlogic.framework.autoexec.exception.job.AutoexecJobTargetOrRunnerNotFoundException; +import neatlogic.framework.autoexec.exception.job.JobParamNodeNullException; import neatlogic.framework.autoexec.exception.job.JobParamNullException; import neatlogic.framework.autoexec.exception.job.JobParamUserNameNullException; import neatlogic.framework.autoexec.job.action.core.AutoexecJobActionHandlerFactory; @@ -665,7 +666,11 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC isGroupConfig = executeConfigVo.getExecuteNodeConfig() != null && !executeConfigVo.getExecuteNodeConfig().isNull(); if (isGroupConfig) { jobVo.setNodeFrom(AutoexecJobPhaseNodeFrom.GROUP.getValue()); - isHasNode = getJobNodeList(executeConfigVo, jobVo, userName, protocolId, updateTime); + try { + isHasNode = getJobNodeList(executeConfigVo, jobVo, userName, protocolId, updateTime); + } catch (JobParamNodeNullException ex) { + throw new JobParamNodeNullException(jobGroupVo.getSort(), ex.getMessage()); + } } String parallelPolicyTmp = executeConfigVo.getParallelPolicy(); //兼容老数据不存在policy @@ -712,7 +717,11 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC isPhaseConfig = executeConfigVo.getExecuteNodeConfig() != null && !executeConfigVo.getExecuteNodeConfig().isNull(); if (isPhaseConfig) { jobVo.setNodeFrom(AutoexecJobPhaseNodeFrom.PHASE.getValue()); - isHasNode = getJobNodeList(executeConfigVo, jobVo, userName, protocolId, updateTime); + try { + isHasNode = getJobNodeList(executeConfigVo, jobVo, userName, protocolId, updateTime); + } catch (JobParamNodeNullException ex) { + throw new JobParamNodeNullException(jobPhase.getName(), ex.getMessage()); + } } String parallelPolicyTmp = executeConfigVo.getParallelPolicy(); //兼容老数据不存在policy @@ -733,7 +742,11 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC //如果阶段没有设置执行目标,则使用全局执行目标 if (!isPhaseConfig && !isGroupConfig) { jobVo.setNodeFrom(AutoexecJobPhaseNodeFrom.JOB.getValue()); - isHasNode = getJobNodeList(combopExecuteConfigVo, jobVo, userName, protocolId, updateTime); + try { + isHasNode = getJobNodeList(combopExecuteConfigVo, jobVo, userName, protocolId, updateTime); + } catch (JobParamNodeNullException ex) { + throw new JobParamNodeNullException(ex.getMessage(), 1); + } } //如果都找不到执行节点 if (!isHasNode) { -- Gitee