From 5536865623463c1cf6064f2f33655e51a9a73b34 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Sat, 22 Mar 2025 14:52:33 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B=E5=B1=82?= =?UTF-8?q?=E7=BA=A7=E5=8F=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1349157963399168]CMDB应用清单改成模型层级可配置 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1349157963399168 --- .../DownloadAutoexecJobPhaseNodesApi.java | 12 +- .../dao/mapper/AutoexecResourceMapper.java | 39 +++++++ .../dao/mapper/AutoexecResourceMapper.xml | 108 ++++++++++++++++++ .../service/AutoexecJobServiceImpl.java | 8 +- 4 files changed, 161 insertions(+), 6 deletions(-) create mode 100644 src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.java create mode 100644 src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.xml 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 0eb10de4..1e83ad06 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 @@ -55,6 +55,7 @@ import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateBinaryStreamApiComponentBase; import neatlogic.framework.tagent.dao.mapper.TagentMapper; +import neatlogic.module.autoexec.dao.mapper.AutoexecResourceMapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -100,6 +101,9 @@ public class DownloadAutoexecJobPhaseNodesApi extends PrivateBinaryStreamApiComp @Resource private TagentMapper tagentMapper; + @Resource + private AutoexecResourceMapper autoexecResourceMapper; + @Override public String getToken() { return "autoexec/job/phase/nodes/download"; @@ -280,7 +284,7 @@ public class DownloadAutoexecJobPhaseNodesApi extends PrivateBinaryStreamApiComp return k1; }))); } - List osResourceList = resourceCrossoverMapper.getResourceAppSystemListByResourceIdList(resourceIdList); + List osResourceList = autoexecResourceMapper.getResourceAppSystemListByResourceIdList(resourceIdList); if (CollectionUtils.isNotEmpty(osResourceList)) { osResourceList = osResourceList.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getId() + ":" + o.getAppSystemId()))), ArrayList::new)); resourceAppSystemMap.putAll(osResourceList.stream().filter(o -> o.getAppSystemId() != null).collect(Collectors.toMap(ResourceVo::getId, o -> { @@ -295,14 +299,14 @@ public class DownloadAutoexecJobPhaseNodesApi extends PrivateBinaryStreamApiComp } //查询target 对应的os - List targetOsList = resourceCrossoverMapper.getOsResourceListByResourceIdList(resourceIdList); + List targetOsList = autoexecResourceMapper.getOsResourceListByResourceIdList(resourceIdList); if (CollectionUtils.isNotEmpty(targetOsList)) { resourceIncludeOsIdList.addAll(targetOsList.stream().map(SoftwareServiceOSVo::getOsId).collect(toList())); resourceOSResourceMap = targetOsList.stream().collect(Collectors.toMap(SoftwareServiceOSVo::getResourceId, SoftwareServiceOSVo::getOsId)); } //os、software补充listen_port - List osResourceList = resourceCrossoverMapper.getOsResourceListenPortListByResourceIdList(resourceIncludeOsIdList); + List osResourceList = autoexecResourceMapper.getOsResourceListenPortListByResourceIdList(resourceIncludeOsIdList); if (CollectionUtils.isNotEmpty(osResourceList)) { resourceServicePortsMap.putAll(osResourceList.stream().filter(o -> o.getListenPort() != null).collect(Collectors.toMap(ResourceVo::getId, o -> { JSONObject servicePorts = new JSONObject(); @@ -313,7 +317,7 @@ public class DownloadAutoexecJobPhaseNodesApi extends PrivateBinaryStreamApiComp return k1; }))); } - List softwareResourceList = resourceCrossoverMapper.getSoftwareResourceListenPortListByResourceIdList(resourceIdList); + List softwareResourceList = autoexecResourceMapper.getSoftwareResourceListenPortListByResourceIdList(resourceIdList); if (CollectionUtils.isNotEmpty(softwareResourceList)) { resourceServicePortsMap.putAll(softwareResourceList.stream().filter(o -> o.getListenPort() != null).collect(Collectors.toMap(ResourceVo::getId, o -> { JSONObject servicePorts = new JSONObject(); diff --git a/src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.java b/src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.java new file mode 100644 index 00000000..009f5fd4 --- /dev/null +++ b/src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.java @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2025 深圳极向量科技有限公司 All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package neatlogic.module.autoexec.dao.mapper; + +import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; +import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; +import neatlogic.framework.cmdb.dto.resourcecenter.entity.SoftwareServiceOSVo; + +import java.util.List; + +public interface AutoexecResourceMapper { + + List getOsResourceListByResourceIdList(List resourceIdList); + + List getOsResourceListenPortListByResourceIdList(List resourceIdList); + + List getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(ResourceSearchVo searchVo); + + int getOsResourceCountByAppSystemIdAndAppModuleIdListAndEnvIdAndTypeId(ResourceSearchVo searchVo); + + List getResourceAppSystemListByResourceIdList(List id); + + List getSoftwareResourceListenPortListByResourceIdList(List resourceIdList); +} diff --git a/src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.xml b/src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.xml new file mode 100644 index 00000000..8b2f6164 --- /dev/null +++ b/src/main/java/neatlogic/module/autoexec/dao/mapper/AutoexecResourceMapper.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + \ 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 01928df4..df0b57e3 100644 --- a/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java +++ b/src/main/java/neatlogic/module/autoexec/service/AutoexecJobServiceImpl.java @@ -63,6 +63,7 @@ import neatlogic.framework.util.HttpRequestUtil; import neatlogic.framework.util.RestUtil; import neatlogic.framework.util.SnowflakeUtil; import neatlogic.module.autoexec.dao.mapper.AutoexecCombopVersionMapper; +import neatlogic.module.autoexec.dao.mapper.AutoexecResourceMapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -111,6 +112,9 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC @Resource private UserMapper userMapper; + @Resource + private AutoexecResourceMapper autoexecResourceMapper; + /** * 根据作业参数获取最终参数值 * @@ -1357,12 +1361,12 @@ public class AutoexecJobServiceImpl implements AutoexecJobService, IAutoexecJobC searchVo.setTypeId(jobVo.getInvokeId()); searchVo.setAppSystemId(searchVo.getAppSystemIdList().get(0)); searchVo.setEnvId(searchVo.getEnvIdList().get(0)); - int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdListAndEnvIdAndTypeId(searchVo); + int rowNum = autoexecResourceMapper.getOsResourceCountByAppSystemIdAndAppModuleIdListAndEnvIdAndTypeId(searchVo); if (rowNum > 0) { searchVo.setRowNum(rowNum); for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { searchVo.setCurrentPage(currentPage); - List idOsList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); + List idOsList = autoexecResourceMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); if (CollectionUtils.isNotEmpty(idOsList)) { List resourceList = resourceCrossoverMapper.getResourceByIdList(idOsList); if (CollectionUtils.isNotEmpty(resourceList)) { -- Gitee