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 0eb10de4f08f16090b75dc0e1bae7a10516a1915..1e83ad060f12790bc5d3d83443eb2a6882fd9bf0 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 0000000000000000000000000000000000000000..009f5fd4c2ab7b839c74fd88687dcd936a617ea1 --- /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 0000000000000000000000000000000000000000..8b2f616475eeef1c3966bb1c58e0c5a0ab407b79 --- /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 01928df4ee4e23d7faa3271f489916a0363cdf47..df0b57e357fa82dd47b5f373e06d97af9c3ef337 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)) {