From 2d56efda1c94e5b5a127b4732877b26e4ce65111 Mon Sep 17 00:00:00 2001 From: lvzk <897706680@qq.com> Date: Sat, 19 Apr 2025 22:39:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=93=9D=E7=BB=BF=E6=89=A7=E8=A1=8C=E7=AD=96?= =?UTF-8?q?=E7=95=A5=20#[1402157146800128]=E5=8F=91=E5=B8=83=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=93=9D=E7=BB=BF=E6=89=A7=E8=A1=8C=E7=AD=96=E7=95=A5?= =?UTF-8?q?=20http://192.168.0.96:8090/demo/rdm.html#/story-detail/9390509?= =?UTF-8?q?47543040/939050947543042/1402157146800128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/AutoexecJobServiceImpl.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java index a48e06d7..f76e4aa9 100644 --- a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java +++ b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java @@ -887,6 +887,16 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC //System.out.println((System.currentTimeMillis() - cvv) + " ##cvv:-------------------------------------------------------------------------------"); logger.debug("##updateJobPhaseNodeIsDeleteByJobPhaseIdAndUpdateTag:-------------------------------------------------------------------------------end"); isNeedLncd = isNeedLncd || updateCount > 0; + + //其它数据源处理数据 + IAutoexecJobSource jobSource = AutoexecJobSourceFactory.getEnumInstance(jobVo.getSource()); + if (jobSource == null) { + throw new AutoexecJobSourceInvalidException(jobVo.getSource()); + } + IAutoexecJobSourceTypeHandler autoexecJobSourceActionHandler = AutoexecJobSourceTypeHandlerFactory.getAction(jobSource.getType()); + if (autoexecJobSourceActionHandler != null) { + autoexecJobSourceActionHandler.handleDeleteJobPhaseNodeEvent(jobPhaseVo.getId(), nowTime.getTime()); + } } //阶段节点被真删除||伪删除(is_delete=1),则更新上一次修改日期(plcd),需重新下载 if (isNeedLncd) { @@ -982,7 +992,7 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC List nodeList = new ArrayList<>(); //List nodeRunnerList = new ArrayList<>(); //List resourceIdList = new ArrayList<>(); - boolean isNeedLncd;//用于判断是否需要更新lncd(用于判断是否需要重新下载节点) + //boolean isNeedLncd;//用于判断是否需要更新lncd(用于判断是否需要重新下载节点) //新增节点需重新下载 List resourceIdList = resourceVoList.stream().map(ResourceVo::getId).collect(Collectors.toList()); // List originNodeList = autoexecJobMapper.getJobPhaseNodeListByJobPhaseIdAndResourceIdList(jobPhaseVo.getId(), resourceIdList); @@ -1037,6 +1047,17 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC autoexecJobMapper.updateJobPhaseNodeBatch(jobPhaseVo.getId(), resourceIdList, JobNodeStatus.PENDING.getValue(), jobPhaseVo.getLcd().getTime()); autoexecJobMapper.batchInsertIgnoreJobPhaseNode(nodeList); } + + + //其它数据源处理数据 + IAutoexecJobSource jobSource = AutoexecJobSourceFactory.getEnumInstance(jobVo.getSource()); + if (jobSource == null) { + throw new AutoexecJobSourceInvalidException(jobVo.getSource()); + } + IAutoexecJobSourceTypeHandler autoexecJobSourceActionHandler = AutoexecJobSourceTypeHandlerFactory.getAction(jobSource.getType()); + if (autoexecJobSourceActionHandler != null) { + autoexecJobSourceActionHandler.handleAddJobPhaseNodeEvent(jobVo, nodeList, userName, protocolId, jobPhaseVo.getLcd().getTime()); + } } @Override -- Gitee From 7e6929b9c8ce5ca76b86d00e43478bbed6eb6f63 Mon Sep 17 00:00:00 2001 From: lvzk <897706680@qq.com> Date: Mon, 21 Apr 2025 16:25:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=93=9D=E7=BB=BF=E6=89=A7=E8=A1=8C=E7=AD=96?= =?UTF-8?q?=E7=95=A5=20#[1402157146800128]=E5=8F=91=E5=B8=83=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=93=9D=E7=BB=BF=E6=89=A7=E8=A1=8C=E7=AD=96=E7=95=A5?= =?UTF-8?q?=20http://192.168.0.96:8090/demo/rdm.html#/story-detail/9390509?= =?UTF-8?q?47543040/939050947543042/1402157146800128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DownloadAutoexecJobPhaseNodesApi.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/neatlogic/module/autoexec/api/job/exec/DownloadAutoexecJobPhaseNodesApi.java b/src/main/java/neatlogic/module/autoexec/api/job/exec/DownloadAutoexecJobPhaseNodesApi.java index 1e83ad06..a9abe244 100644 --- a/src/main/java/neatlogic/module/autoexec/api/job/exec/DownloadAutoexecJobPhaseNodesApi.java +++ b/src/main/java/neatlogic/module/autoexec/api/job/exec/DownloadAutoexecJobPhaseNodesApi.java @@ -35,6 +35,11 @@ import neatlogic.framework.autoexec.dto.script.AutoexecScriptVo; import neatlogic.framework.autoexec.exception.AutoexecJobGroupNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecJobNotFoundException; import neatlogic.framework.autoexec.exception.AutoexecJobPhaseNotFoundException; +import neatlogic.framework.autoexec.exception.AutoexecJobSourceInvalidException; +import neatlogic.framework.autoexec.job.source.type.AutoexecJobSourceTypeHandlerFactory; +import neatlogic.framework.autoexec.job.source.type.IAutoexecJobSourceTypeHandler; +import neatlogic.framework.autoexec.source.AutoexecJobSourceFactory; +import neatlogic.framework.autoexec.source.IAutoexecJobSource; import neatlogic.framework.cmdb.crossover.IResourceAccountCrossoverMapper; import neatlogic.framework.cmdb.crossover.IResourceCenterAccountCrossoverService; import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; @@ -267,6 +272,16 @@ public class DownloadAutoexecJobPhaseNodesApi extends PrivateBinaryStreamApiComp } } if (CollectionUtils.isNotEmpty(autoexecJobPhaseNodeVoList)) { + //补充蓝绿sort等其它数据 + IAutoexecJobSource jobSource = AutoexecJobSourceFactory.getEnumInstance(jobVo.getSource()); + if (jobSource == null) { + throw new AutoexecJobSourceInvalidException(jobVo.getSource()); + } + IAutoexecJobSourceTypeHandler autoexecJobSourceActionHandler = AutoexecJobSourceTypeHandlerFactory.getAction(jobSource.getType()); + if (autoexecJobSourceActionHandler != null) { + autoexecJobSourceActionHandler.addExtraJobPhaseNodeBlueGreenInfoByList(jobVo.getId(), autoexecJobPhaseNodeVoList); + } + IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); List resourceIdList = autoexecJobPhaseNodeVoList.stream().map(AutoexecJobPhaseNodeVo::getResourceId).filter(Objects::nonNull).collect(Collectors.toList()); List resourceIncludeOsIdList = new ArrayList<>(resourceIdList); @@ -374,6 +389,12 @@ public class DownloadAutoexecJobPhaseNodesApi extends PrivateBinaryStreamApiComp nodeJson.put("nodeName", nodeVo.getNodeName()); nodeJson.put("nodeType", nodeVo.getNodeType()); nodeJson.put("resourceId", nodeVo.getResourceId()); + //补充额外信息 + JSONObject extraInfo = nodeVo.getExtraInfo(); + if (MapUtils.isNotEmpty(extraInfo) && StringUtils.isNotBlank(extraInfo.getString("blueGreenSort"))) { + nodeJson.put("seqNo", extraInfo.getInteger("blueGreenSort")); + nodeJson.put("seqNoId", extraInfo.getLong("blueGreenId")); + } JSONObject servicePorts = resourceServicePortsMap.get(nodeVo.getResourceId()); Long osResourceId = resourceOSResourceMap.get(nodeVo.getResourceId()); if (osResourceId != null) { -- Gitee