From b1b1fb9ae268b2716b20dd2416f39e495691b2f1 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 30 Oct 2025 17:17:16 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=89=A7=E8=A1=8C=E7=9B=AE=E6=A0=87=E7=9A=84?= =?UTF-8?q?=E5=89=8D=E7=BD=AE=E8=BF=87=E6=BB=A4=E5=99=A8=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E7=B1=BB=E5=9E=8B=E6=97=B6=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E7=A9=BF=E9=80=8F=E5=88=B0=E5=AD=90=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1543556135616512]创建作业执行目标的前置过滤器设置模型类型时没有穿透到子模型 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1543556135616512 --- .../autoexec/job/node/UpdateNodesByFilterHandler.java | 6 +----- .../autoexec/job/node/UpdateNodesByInputHandler.java | 8 +------- .../autoexec/job/node/UpdateNodesByParamsHandler.java | 7 +------ .../job/node/UpdateNodesByPrePhaseOutputHandler.java | 6 +----- .../autoexec/job/node/UpdateNodesSelectHandler.java | 7 +------ .../module/autoexec/service/AutoexecJobService.java | 5 +++-- .../autoexec/service/AutoexecJobServiceImpl.java | 10 ++++++---- 7 files changed, 14 insertions(+), 35 deletions(-) diff --git a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByFilterHandler.java b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByFilterHandler.java index f9caacfe..a951be24 100644 --- a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByFilterHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByFilterHandler.java @@ -68,11 +68,7 @@ public class UpdateNodesByFilterHandler implements IUpdateNodes { JSONObject filterJson = executeConfigVo.getExecuteNodeConfig().getFilter(); boolean isHasNode = false; if (MapUtils.isNotEmpty(filterJson)) { - ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, filterJson); - JSONObject preCondition = executeConfigVo.getPreCondition(); - if (MapUtils.isNotEmpty(preCondition)) { - searchVo.setPreCondition(autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, preCondition)); - } + ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, filterJson, executeConfigVo.getPreCondition()); searchVo.setMaxPageSize(50000); searchVo.setPageSize(50000); IResourceCenterResourceCrossoverService resourceCenterResourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); diff --git a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByInputHandler.java b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByInputHandler.java index 5caa3a40..ee36d643 100644 --- a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByInputHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByInputHandler.java @@ -17,7 +17,6 @@ package neatlogic.module.autoexec.job.node; -import com.alibaba.fastjson.JSONObject; import neatlogic.framework.autoexec.dto.combop.AutoexecCombopExecuteConfigVo; import neatlogic.framework.autoexec.dto.job.AutoexecJobVo; import neatlogic.framework.autoexec.dto.node.AutoexecNodeVo; @@ -27,7 +26,6 @@ import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; import neatlogic.module.autoexec.service.AutoexecJobService; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -65,11 +63,7 @@ public class UpdateNodesByInputHandler implements IUpdateNodes { throw new AutoexecInputOutOfCountException(1000); } nodeVoList.forEach(o -> ipPortNameList.add(new ResourceVo(o.getIp(), o.getPort(), o.getName()))); - ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null); - JSONObject preCondition = executeConfigVo.getPreCondition(); - if (MapUtils.isNotEmpty(preCondition)) { - searchVo.setPreCondition(autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, preCondition)); - } + ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null, executeConfigVo.getPreCondition()); isHasNode = autoexecJobService.updateNodeByIpPortNameList(ipPortNameList, searchVo, jobVo, userName, protocolId); } return isHasNode; 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 7c55b76e..5008e3ac 100644 --- a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByParamsHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByParamsHandler.java @@ -28,7 +28,6 @@ import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; import neatlogic.module.autoexec.service.AutoexecJobService; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -92,11 +91,7 @@ public class UpdateNodesByParamsHandler implements IUpdateNodes { } } }); - ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null); - JSONObject preCondition = executeConfigVo.getPreCondition(); - if (MapUtils.isNotEmpty(preCondition)) { - searchVo.setPreCondition(autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, preCondition)); - } + ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null, executeConfigVo.getPreCondition()); if (CollectionUtils.isNotEmpty(ipPortNameList)) { boolean isHasNodeTmp = autoexecJobService.updateNodeByIpPortNameList(ipPortNameList, searchVo, jobVo, userName, protocolId); if (isHasNodeTmp) { diff --git a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByPrePhaseOutputHandler.java b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByPrePhaseOutputHandler.java index 17066463..ec098508 100644 --- a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByPrePhaseOutputHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesByPrePhaseOutputHandler.java @@ -130,11 +130,7 @@ public class UpdateNodesByPrePhaseOutputHandler implements IUpdateNodes { List ipPortNameList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(nodeVoList)) { nodeVoList.forEach(o -> ipPortNameList.add(new ResourceVo(o.getIp(), o.getPort(), o.getName()))); - ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null); - JSONObject preCondition = executeConfigVo.getPreCondition(); - if (MapUtils.isNotEmpty(preCondition)) { - searchVo.setPreCondition(autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, preCondition)); - } + ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null, executeConfigVo.getPreCondition()); return autoexecJobService.updateNodeByIpPortNameList(ipPortNameList, searchVo, jobVo, userName, protocolId); } return false; diff --git a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesSelectHandler.java b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesSelectHandler.java index 61443afb..9448f7bf 100644 --- a/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesSelectHandler.java +++ b/src/main/java/neatlogic/module/autoexec/job/node/UpdateNodesSelectHandler.java @@ -17,7 +17,6 @@ package neatlogic.module.autoexec.job.node; -import com.alibaba.fastjson.JSON; import neatlogic.framework.autoexec.dto.combop.AutoexecCombopExecuteConfigVo; import neatlogic.framework.autoexec.dto.job.AutoexecJobVo; import neatlogic.framework.autoexec.dto.node.AutoexecNodeVo; @@ -29,7 +28,6 @@ import neatlogic.framework.common.util.PageUtil; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.module.autoexec.service.AutoexecJobService; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -63,10 +61,7 @@ public class UpdateNodesSelectHandler implements IUpdateNodes { List nodeVoList = executeConfigVo.getExecuteNodeConfig().getSelectNodeList(); boolean isHasNode = false; if (CollectionUtils.isNotEmpty(nodeVoList)) { - ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null); - if (MapUtils.isNotEmpty(executeConfigVo.getPreCondition())) { - searchVo.setPreCondition(JSON.toJavaObject(executeConfigVo.getPreCondition(), ResourceSearchVo.class)); - } + ResourceSearchVo searchVo = autoexecJobService.getResourceSearchVoWithCmdbGroupType(jobVo, null, executeConfigVo.getPreCondition()); searchVo.setIdList(nodeVoList.stream().map(AutoexecNodeVo::getId).collect(toList())); int count; IResourceCenterResourceCrossoverService resourceCenterResourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); diff --git a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobService.java b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobService.java index ed2006c6..4fce3f2d 100644 --- a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobService.java +++ b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobService.java @@ -275,8 +275,9 @@ public interface AutoexecJobService { * * @param jobVo 作业 * @param filterJson 过滤参数 + * @param preCondition 前置过滤参数 */ - ResourceSearchVo getResourceSearchVoWithCmdbGroupType(AutoexecJobVo jobVo, JSONObject filterJson); + ResourceSearchVo getResourceSearchVoWithCmdbGroupType(AutoexecJobVo jobVo, JSONObject filterJson, JSONObject preCondition); /** @@ -363,4 +364,4 @@ public interface AutoexecJobService { * @param searchVo 过滤条件 */ boolean updateNodeByResourceIdList(List resourceIdList, ResourceSearchVo searchVo, AutoexecJobVo jobVo, String userName, Long protocolId); -} \ No newline at end of file +} diff --git a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java index b13d82dd..aface98e 100644 --- a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java +++ b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java @@ -1145,7 +1145,7 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC */ @Override public ResourceSearchVo getResourceSearchVoWithCmdbGroupType(AutoexecJobVo jobVo) { - return getResourceSearchVoWithCmdbGroupType(jobVo, null); + return getResourceSearchVoWithCmdbGroupType(jobVo, null, null); } /** @@ -1155,7 +1155,7 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC */ @Override - public ResourceSearchVo getResourceSearchVoWithCmdbGroupType(AutoexecJobVo jobVo, JSONObject filterJson) { + public ResourceSearchVo getResourceSearchVoWithCmdbGroupType(AutoexecJobVo jobVo, JSONObject filterJson, JSONObject preCondition) { if (MapUtils.isEmpty(filterJson)) { filterJson = new JSONObject(); } @@ -1167,8 +1167,10 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC } IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); ResourceSearchVo searchVo = resourceCrossoverService.assembleResourceSearchVo(filterJson); -// resourceCrossoverService.handleBatchSearchList(searchVo); -// resourceCrossoverService.setIpFieldAttrIdAndNameFieldAttrId(searchVo); + if (MapUtils.isNotEmpty(preCondition)) { + ResourceSearchVo preConditionVo = resourceCrossoverService.assembleResourceSearchVo(preCondition); + searchVo.setPreCondition(preConditionVo); + } return searchVo; } -- Gitee