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 f9caacfe77e5c7a1ba05c2858eb4e2831be3ac5e..a951be248cc3d381a37fac8d1bf1c0a318e5bc0c 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 5caa3a400b3c9c07313df5efacd00e684b954b64..ee36d643626e35b9d8d13e073588f8c1bca9b6fb 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 7c55b76edfa63f0c02c17fb22fc390e801ea72c7..5008e3ac9e6b6220927b8401f693efbd44797274 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 170664637f9b7ccf0075b1777a01df420222f4cd..ec098508a5b4caa2172b0be8bc455ed9ea84fc23 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 61443afbc4fe2ab294a867e2fd920a460884c9d1..9448f7bfc2914a69e3748bf9bff40c01430e81d2 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 ed2006c6f97ac58a34afd6f268fd67ace30d3954..4fce3f2d5c5791887c0d644c7f02e9b2bbc17b5b 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 b13d82dd607bfb40a345bd63c27e3e905fae802b..aface98e3c32762e78a0a7db8d7cb54e3dbff7c3 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; }