From 93f94762ec2a8e98b2900af9c9733330407b2406 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Tue, 18 Mar 2025 16:56:35 +0800 Subject: [PATCH 1/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- .../api/report/ListInspectAppResourceApi.java | 130 ++++++++++++++++++ .../api/report/SearchInspectAppModuleApi.java | 11 +- 2 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java diff --git a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java new file mode 100644 index 0000000..d3c7853 --- /dev/null +++ b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java @@ -0,0 +1,130 @@ +/*Copyright (C) 2024 深圳极向量科技有限公司 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.inspect.api.report; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.auth.core.AuthAction; +import neatlogic.framework.autoexec.dao.mapper.AutoexecJobMapper; +import neatlogic.framework.autoexec.dto.job.AutoexecJobPhaseNodeVo; +import neatlogic.framework.autoexec.dto.job.AutoexecJobResourceInspectVo; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.exception.type.ParamNotExistsException; +import neatlogic.framework.inspect.auth.INSPECT_BASE; +import neatlogic.framework.restful.annotation.*; +import neatlogic.framework.restful.constvalue.OperationTypeEnum; +import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + +@Service +@AuthAction(action = INSPECT_BASE.class) +@OperationType(type = OperationTypeEnum.SEARCH) +public class ListInspectAppResourceApi extends PrivateApiComponentBase { + + @Resource + AutoexecJobMapper autoexecJobMapper; + + @Override + + public String getName() { + return "获取巡检应用报告列表"; + } + + @Override + public String getToken() { + return "inspect/app/resource/list"; + } + + @Override + public String getConfig() { + return null; + } + + @Input({ + @Param(name = "appSystemId", type = ApiParamType.LONG, desc = "应用id"), + @Param(name = "appModuleId", type = ApiParamType.LONG, desc = "应用模块id"), + @Param(name = "envId", type = ApiParamType.LONG, desc = "环境id,envId=-2时表示无配置环境"), + @Param(name = "viewName", type = ApiParamType.LONG, desc = "视图名"), + @Param(name = "inspectStatusList", type = ApiParamType.JSONARRAY, desc = "巡检状态列表"), + @Param(name = "currentPage", type = ApiParamType.INTEGER, desc = "当前页"), + @Param(name = "pageSize", type = ApiParamType.INTEGER, desc = "每页数据条目"), + }) + @Output({ + @Param(name = "tableList", type = ApiParamType.JSONARRAY, desc = "巡检应用报告列表") + }) + @Description(desc = "获取巡检应用报告列表") + @Override + public Object myDoService(JSONObject paramObj) throws Exception { + JSONObject resourceJson = new JSONObject(); + JSONArray list = new JSONArray(); + Long appSystemId = paramObj.getLong("appSystemId"); + Long appModuleId = paramObj.getLong("appModuleId"); + if (appSystemId == null && appModuleId == null) { + throw new ParamNotExistsException("应用id(appSystemId)", "应用模块id(appModuleId)"); + } + Long envId = paramObj.getLong("envId"); + Integer currentPage = paramObj.getInteger("currentPage"); + Integer pageSize = paramObj.getInteger("pageSize"); + Long typeId = paramObj.getLong("typeId"); + List typeIdList = new ArrayList<>(); + if (typeId != null) { + typeIdList.add(typeId); + } + String viewName = paramObj.getString("viewName"); + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + JSONArray tableList = resourceCenterDataSource.getAppResourceList(appSystemId, appModuleId, envId, typeIdList, viewName, currentPage, pageSize); + for (int i = 0; i < tableList.size(); i++) { + JSONObject tabelObj = tableList.getJSONObject(i); + JSONArray tbodyList = tabelObj.getJSONArray("tbodyList"); + list.addAll(tbodyList); + } + //补充巡检相关信息 + if (CollectionUtils.isNotEmpty(list)) { + List idList = new ArrayList<>(); + for (int i = 0; i < list.size(); i++) { + JSONObject tbodyObj = list.getJSONObject(i); + Long id = tbodyObj.getLong("id"); + idList.add(id); + } + List jobResourceInspectVos = autoexecJobMapper.getJobResourceInspectByResourceId(idList); + if (CollectionUtils.isNotEmpty(jobResourceInspectVos)) { + for (int i = 0; i < list.size(); i++) { + JSONObject tbodyObj = list.getJSONObject(i); + Long id = tbodyObj.getLong("id"); + Optional jobResourceInspectVoOptional = jobResourceInspectVos.stream().filter(o -> Objects.equals(o.getResourceId(), id)).findFirst(); + if (jobResourceInspectVoOptional.isPresent()) { + AutoexecJobResourceInspectVo jobResourceInspectVo = jobResourceInspectVoOptional.get(); + AutoexecJobPhaseNodeVo jobPhaseNodeVo = autoexecJobMapper.getJobPhaseNodeInfoByJobPhaseIdAndResourceId(jobResourceInspectVo.getPhaseId(), jobResourceInspectVo.getResourceId()); +// resourceVo.setJobPhaseNodeVo(jobPhaseNodeVo); + tbodyObj.put("jobPhaseNodeVo", jobPhaseNodeVo); + } + } + } + } + resourceJson.put("tableList", tableList); + return resourceJson; + } + +} diff --git a/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java b/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java index 7747a35..57bd90d 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java @@ -19,6 +19,8 @@ import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.cmdb.crossover.IResourceCenterResourceCrossoverService; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.common.dto.BasePageVo; import neatlogic.framework.crossover.CrossoverServiceFactory; @@ -29,6 +31,8 @@ import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.framework.util.TableResultUtil; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author longrf * @date 2022/10/10 17:01 @@ -68,7 +72,10 @@ public class SearchInspectAppModuleApi extends PrivateApiComponentBase { @Override public Object myDoService(JSONObject paramObj) throws Exception { ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); - IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); - return TableResultUtil.getResult(resourceCrossoverService.getAppModuleList(searchVo), searchVo); + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + List tbodyList = resourceCenterDataSource.getAppModuleList(searchVo); + return TableResultUtil.getResult(tbodyList, searchVo); +// IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); +// return TableResultUtil.getResult(resourceCrossoverService.getAppModuleList(searchVo), searchVo); } } -- Gitee From 28a00a3c1b29e33e35aa0e109e78b6c3773e5b06 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 21 Mar 2025 11:23:47 +0800 Subject: [PATCH 2/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- ...ListInspectAppThresholdsCollectionApi.java | 32 ++-- .../api/report/ListInspectAppEnvApi.java | 14 +- .../api/report/ListInspectAppResourceApi.java | 13 +- .../plugin/InspectAppSystemScheduleJob.java | 172 +++++++++++------- .../service/InspectReportServiceImpl.java | 89 +++++---- 5 files changed, 193 insertions(+), 127 deletions(-) diff --git a/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java b/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java index cfdd6b3..a6fd50c 100644 --- a/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java +++ b/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java @@ -19,11 +19,11 @@ import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.cmdb.crossover.ICiCrossoverMapper; -import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; import neatlogic.framework.cmdb.crossover.ISyncCrossoverMapper; import neatlogic.framework.cmdb.dto.ci.CiVo; -import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.enums.sync.CollectMode; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.inspect.auth.INSPECT_BASE; @@ -37,10 +37,7 @@ import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -82,15 +79,22 @@ public class ListInspectAppThresholdsCollectionApi extends PrivateApiComponentBa @Description(desc = "获取应用巡检阈值设置,需要依赖mongodb") @Override public Object myDoService(JSONObject paramObj) throws Exception { - - ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); - List resourceTypeIdList = new ArrayList<>(); - IResourceCrossoverMapper iResourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - Set resourceTypeIdSet = iResourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); - if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { - resourceTypeIdList.addAll(resourceTypeIdSet); - resourceTypeIdList.addAll(iResourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo)); + Long appSystemId = paramObj.getLong("appSystemId"); + Set set = new HashSet<>(); + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + Map> viewName2TypeIdListMap = resourceCenterDataSource.getAppResourceTypeIdListByAppSystemId(appSystemId); + for (Map.Entry> entry : viewName2TypeIdListMap.entrySet()) { + set.addAll(entry.getValue()); } + List resourceTypeIdList = new ArrayList<>(set); +// ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); +// List resourceTypeIdList = new ArrayList<>(); +// IResourceCrossoverMapper iResourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); +// Set resourceTypeIdSet = iResourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); +// if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { +// resourceTypeIdList.addAll(resourceTypeIdSet); +// resourceTypeIdList.addAll(iResourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo)); +// } if (CollectionUtils.isNotEmpty(resourceTypeIdList)) { ICiCrossoverMapper iCiCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); diff --git a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java index d508063..4e02f5b 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java @@ -16,11 +16,10 @@ package neatlogic.module.inspect.api.report; import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; -import neatlogic.framework.cmdb.crossover.IResourceCenterResourceCrossoverService; import neatlogic.framework.cmdb.dto.resourcecenter.AppEnvVo; -import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.common.constvalue.ApiParamType; -import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.inspect.auth.INSPECT_BASE; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; @@ -61,8 +60,11 @@ public class ListInspectAppEnvApi extends PrivateApiComponentBase { @Description(desc = "nmiar.listinspectappenvapi.getname") @Override public Object myDoService(JSONObject paramObj) throws Exception { - ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); - IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); - return resourceCrossoverService.getAppEnvList(searchVo); + Long appSystemId = paramObj.getLong("appSystemId"); + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + return resourceCenterDataSource.getAppEnvListByAppSystemId(appSystemId); +// ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); +// IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); +// return resourceCrossoverService.getAppEnvList(searchVo); } } diff --git a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java index d3c7853..02c874a 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java @@ -96,8 +96,13 @@ public class ListInspectAppResourceApi extends PrivateApiComponentBase { IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); JSONArray tableList = resourceCenterDataSource.getAppResourceList(appSystemId, appModuleId, envId, typeIdList, viewName, currentPage, pageSize); for (int i = 0; i < tableList.size(); i++) { - JSONObject tabelObj = tableList.getJSONObject(i); - JSONArray tbodyList = tabelObj.getJSONArray("tbodyList"); + JSONObject tableObj = tableList.getJSONObject(i); + JSONArray theadList = tableObj.getJSONArray("theadList"); + JSONObject thead = new JSONObject(); + thead.put("key", "taskStatus"); + thead.put("title", "巡检作业状态"); + theadList.add(thead); + JSONArray tbodyList = tableObj.getJSONArray("tbodyList"); list.addAll(tbodyList); } //补充巡检相关信息 @@ -119,6 +124,10 @@ public class ListInspectAppResourceApi extends PrivateApiComponentBase { AutoexecJobPhaseNodeVo jobPhaseNodeVo = autoexecJobMapper.getJobPhaseNodeInfoByJobPhaseIdAndResourceId(jobResourceInspectVo.getPhaseId(), jobResourceInspectVo.getResourceId()); // resourceVo.setJobPhaseNodeVo(jobPhaseNodeVo); tbodyObj.put("jobPhaseNodeVo", jobPhaseNodeVo); + JSONObject taskStatus = new JSONObject(); + taskStatus.put("value", jobPhaseNodeVo.getStatus()); + taskStatus.put("text", jobPhaseNodeVo.getStatusName()); + tbodyObj.put("taskStatus", taskStatus); } } } diff --git a/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java b/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java index 3868959..9e73eb9 100644 --- a/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java +++ b/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java @@ -27,10 +27,11 @@ import neatlogic.framework.autoexec.dto.node.AutoexecNodeVo; import neatlogic.framework.autoexec.job.action.core.AutoexecJobActionHandlerFactory; import neatlogic.framework.autoexec.job.action.core.IAutoexecJobActionHandler; import neatlogic.framework.cmdb.crossover.ICiCrossoverMapper; -import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; import neatlogic.framework.cmdb.dto.ci.CiVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.common.constvalue.systemuser.SystemUser; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.dao.mapper.UserMapper; @@ -44,7 +45,6 @@ import neatlogic.framework.inspect.dto.InspectAppSystemScheduleVo; import neatlogic.framework.scheduler.core.JobBase; import neatlogic.framework.scheduler.dto.JobObject; import neatlogic.framework.service.AuthenticationInfoService; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; @@ -53,10 +53,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Set; +import java.util.*; /** * @author laiwt @@ -144,53 +141,27 @@ public class InspectAppSystemScheduleJob extends JobBase { return; } String userUuid = scheduleVo.getFcu(); - List ipObjectResourceTypeIdList = new ArrayList<>(); - List osResourceTypeIdList = new ArrayList<>(); - IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); + Long appSystemId = scheduleVo.getAppSystemId(); + Map> typeId2NodeListMap = new HashMap<>(); ResourceSearchVo searchVo = new ResourceSearchVo(); - searchVo.setAppSystemId(scheduleVo.getAppSystemId()); - Set resourceTypeIdSet = resourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); - ipObjectResourceTypeIdList.addAll(resourceTypeIdSet); - ipObjectResourceTypeIdList.sort(Long::compare); - if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { - resourceTypeIdSet = resourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo); - osResourceTypeIdList.addAll(resourceTypeIdSet); - osResourceTypeIdList.sort(Long::compare); - } - for (Long typeId : ipObjectResourceTypeIdList) { - Long combopId = inspectMapper.getCombopIdByCiId(typeId); - if (combopId == null) { - continue; - } - ICiCrossoverMapper ciCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); - CiVo ci = ciCrossoverMapper.getCiById(typeId); - if (ci == null) { - continue; - } - String name = ci.getLabel() + (ci.getName() != null ? "(" + ci.getName() + ")" : StringUtils.EMPTY) + " 巡检"; - List selectNodeList = new ArrayList<>(); - searchVo.setTypeId(typeId); - int rowNum = resourceCrossoverMapper.getIpObjectResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (rowNum > 0) { - searchVo.setRowNum(rowNum); - for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { - searchVo.setCurrentPage(currentPage); - List idList = resourceCrossoverMapper.getIpObjectResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (CollectionUtils.isNotEmpty(idList)) { - List resourceList = resourceCrossoverMapper.getResourceByIdList(idList); - for (ResourceVo resourceVo : resourceList) { - selectNodeList.add(new AutoexecNodeVo(resourceVo)); - } - } - } - try { - createAndFireJob(combopId, id, name, userUuid, selectNodeList); - } catch (Exception e) { - logger.error(e.getMessage(), e); + searchVo.setAppSystemId(appSystemId); + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + Map> viewName2TypeIdListMap = resourceCenterDataSource.getAppResourceTypeIdListByAppSystemId(appSystemId); + for (Map.Entry> entry : viewName2TypeIdListMap.entrySet()) { + String viewName = entry.getKey(); + searchVo.setViewName(viewName); + List typeIdList = entry.getValue(); + for (Long typeId : typeIdList) { + searchVo.setTypeId(typeId); + List resourceList = resourceCenterDataSource.getAppResourceList(searchVo, false); + for (ResourceVo resourceVo : resourceList) { + typeId2NodeListMap.computeIfAbsent(typeId, key -> new ArrayList<>()).add(new AutoexecNodeVo(resourceVo)); } } } - for (Long typeId : osResourceTypeIdList) { + for (Map.Entry> entry : typeId2NodeListMap.entrySet()) { + Long typeId = entry.getKey(); + List selectNodeList = entry.getValue(); Long combopId = inspectMapper.getCombopIdByCiId(typeId); if (combopId == null) { continue; @@ -201,28 +172,91 @@ public class InspectAppSystemScheduleJob extends JobBase { continue; } String name = ci.getLabel() + (ci.getName() != null ? "(" + ci.getName() + ")" : StringUtils.EMPTY) + " 巡检"; - List selectNodeList = new ArrayList<>(); - searchVo.setTypeId(typeId); - int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (rowNum > 0) { - searchVo.setRowNum(rowNum); - for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { - searchVo.setCurrentPage(currentPage); - List idList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (CollectionUtils.isNotEmpty(idList)) { - List resourceList = resourceCrossoverMapper.getResourceByIdList(idList); - for (ResourceVo resourceVo : resourceList) { - selectNodeList.add(new AutoexecNodeVo(resourceVo)); - } - } - } - try { - createAndFireJob(combopId, id, name, userUuid, selectNodeList); - } catch (Exception e) { - logger.error(e.getMessage(), e); - } + try { + createAndFireJob(combopId, id, name, userUuid, selectNodeList); + } catch (Exception e) { + logger.error(e.getMessage(), e); } } +// List ipObjectResourceTypeIdList = new ArrayList<>(); +// List osResourceTypeIdList = new ArrayList<>(); +// IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); +// ResourceSearchVo searchVo = new ResourceSearchVo(); +// searchVo.setAppSystemId(scheduleVo.getAppSystemId()); +// Set resourceTypeIdSet = resourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); +// ipObjectResourceTypeIdList.addAll(resourceTypeIdSet); +// ipObjectResourceTypeIdList.sort(Long::compare); +// if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { +// resourceTypeIdSet = resourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo); +// osResourceTypeIdList.addAll(resourceTypeIdSet); +// osResourceTypeIdList.sort(Long::compare); +// } +// for (Long typeId : ipObjectResourceTypeIdList) { +// Long combopId = inspectMapper.getCombopIdByCiId(typeId); +// if (combopId == null) { +// continue; +// } +// ICiCrossoverMapper ciCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); +// CiVo ci = ciCrossoverMapper.getCiById(typeId); +// if (ci == null) { +// continue; +// } +// String name = ci.getLabel() + (ci.getName() != null ? "(" + ci.getName() + ")" : StringUtils.EMPTY) + " 巡检"; +// List selectNodeList = new ArrayList<>(); +// searchVo.setTypeId(typeId); +// int rowNum = resourceCrossoverMapper.getIpObjectResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (rowNum > 0) { +// searchVo.setRowNum(rowNum); +// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { +// searchVo.setCurrentPage(currentPage); +// List idList = resourceCrossoverMapper.getIpObjectResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (CollectionUtils.isNotEmpty(idList)) { +// List resourceList = resourceCrossoverMapper.getResourceByIdList(idList); +// for (ResourceVo resourceVo : resourceList) { +// selectNodeList.add(new AutoexecNodeVo(resourceVo)); +// } +// } +// } +// try { +// createAndFireJob(combopId, id, name, userUuid, selectNodeList); +// } catch (Exception e) { +// logger.error(e.getMessage(), e); +// } +// } +// } +// for (Long typeId : osResourceTypeIdList) { +// Long combopId = inspectMapper.getCombopIdByCiId(typeId); +// if (combopId == null) { +// continue; +// } +// ICiCrossoverMapper ciCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); +// CiVo ci = ciCrossoverMapper.getCiById(typeId); +// if (ci == null) { +// continue; +// } +// String name = ci.getLabel() + (ci.getName() != null ? "(" + ci.getName() + ")" : StringUtils.EMPTY) + " 巡检"; +// List selectNodeList = new ArrayList<>(); +// searchVo.setTypeId(typeId); +// int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (rowNum > 0) { +// searchVo.setRowNum(rowNum); +// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { +// searchVo.setCurrentPage(currentPage); +// List idList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (CollectionUtils.isNotEmpty(idList)) { +// List resourceList = resourceCrossoverMapper.getResourceByIdList(idList); +// for (ResourceVo resourceVo : resourceList) { +// selectNodeList.add(new AutoexecNodeVo(resourceVo)); +// } +// } +// } +// try { +// createAndFireJob(combopId, id, name, userUuid, selectNodeList); +// } catch (Exception e) { +// logger.error(e.getMessage(), e); +// } +// } +// } } diff --git a/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java b/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java index 1c4f3cf..a145a9c 100644 --- a/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java +++ b/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java @@ -31,6 +31,8 @@ import neatlogic.framework.cmdb.dto.resourcecenter.OwnerVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.sync.CollectionVo; import neatlogic.framework.cmdb.exception.ci.CiNotFoundException; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.common.constvalue.InspectStatus; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.inspect.dao.mapper.InspectMapper; @@ -448,14 +450,14 @@ public class InspectReportServiceImpl implements InspectReportService { IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); ResourceSearchVo searchVo = new ResourceSearchVo(); searchVo.setAppSystemId(appSystemId); - Set resourceTypeIdSet = resourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); - ipObjectResourceTypeIdList.addAll(resourceTypeIdSet); - ipObjectResourceTypeIdList.sort(Long::compare); - if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { - resourceTypeIdSet = resourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo); - osResourceTypeIdList.addAll(resourceTypeIdSet); - osResourceTypeIdList.sort(Long::compare); - } +// Set resourceTypeIdSet = resourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); +// ipObjectResourceTypeIdList.addAll(resourceTypeIdSet); +// ipObjectResourceTypeIdList.sort(Long::compare); +// if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { +// resourceTypeIdSet = resourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo); +// osResourceTypeIdList.addAll(resourceTypeIdSet); +// osResourceTypeIdList.sort(Long::compare); +// } List headerList = new ArrayList<>(); List columnList = new ArrayList<>(); @@ -477,37 +479,52 @@ public class InspectReportServiceImpl implements InspectReportService { inspectStatusList.add(InspectStatus.CRITICAL.getValue()); inspectStatusList.add(InspectStatus.FATAL.getValue()); searchVo.setInspectStatusList(inspectStatusList); - searchVo.setPageSize(100); - for (Long resourceTypeId : ipObjectResourceTypeIdList) { - searchVo.setTypeId(resourceTypeId); - int rowNum = resourceCrossoverMapper.getIpObjectResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (rowNum > 0) { - searchVo.setRowNum(rowNum); - for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { - searchVo.setCurrentPage(currentPage); - List idList = resourceCrossoverMapper.getIpObjectResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (CollectionUtils.isNotEmpty(idList)) { - List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); - putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); - } - } - } - } - for (Long resourceTypeId : osResourceTypeIdList) { - searchVo.setTypeId(resourceTypeId); - int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (rowNum > 0) { - searchVo.setRowNum(rowNum); - for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { - searchVo.setCurrentPage(currentPage); - List idList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); - if (CollectionUtils.isNotEmpty(idList)) { - List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); - putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); - } +// searchVo.setPageSize(100); + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + Map> viewName2TypeIdListMap = resourceCenterDataSource.getAppResourceTypeIdListByAppSystemId(appSystemId); + for (Map.Entry> entry : viewName2TypeIdListMap.entrySet()) { + String viewName = entry.getKey(); + searchVo.setViewName(viewName); + List typeIdList = entry.getValue(); + for (Long typeId : typeIdList) { + searchVo.setTypeId(typeId); + List idList = resourceCenterDataSource.getAppResourceIdList(searchVo, false); + if (CollectionUtils.isNotEmpty(idList)) { + List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); + putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); } } } +// for (Long resourceTypeId : ipObjectResourceTypeIdList) { +// searchVo.setTypeId(resourceTypeId); +// int rowNum = resourceCrossoverMapper.getIpObjectResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (rowNum > 0) { +// searchVo.setRowNum(rowNum); +// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { +// searchVo.setCurrentPage(currentPage); +// List idList = resourceCrossoverMapper.getIpObjectResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (CollectionUtils.isNotEmpty(idList)) { +// List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); +// putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); +// } +// } +// } +// } +// for (Long resourceTypeId : osResourceTypeIdList) { +// searchVo.setTypeId(resourceTypeId); +// int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (rowNum > 0) { +// searchVo.setRowNum(rowNum); +// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { +// searchVo.setCurrentPage(currentPage); +// List idList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); +// if (CollectionUtils.isNotEmpty(idList)) { +// List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); +// putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); +// } +// } +// } +// } return workbook; } -- Gitee From 8d59ee887bb88067996ae4c293cd0b858126d2ba Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 21 Mar 2025 17:26:44 +0800 Subject: [PATCH 3/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- .../api/report/InspectAppModuleReportApi.java | 1 + .../api/report/ListInspectAppResourceApi.java | 13 ++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java b/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java index edb5060..2c63e50 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java @@ -30,6 +30,7 @@ import java.util.stream.Collectors; * @date 2022/2/17 11:28 上午 */ @Service +@Deprecated @AuthAction(action = INSPECT_BASE.class) @OperationType(type = OperationTypeEnum.SEARCH) public class InspectAppModuleReportApi extends PrivateApiComponentBase { diff --git a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java index 02c874a..4ffb23f 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppResourceApi.java @@ -87,14 +87,14 @@ public class ListInspectAppResourceApi extends PrivateApiComponentBase { Long envId = paramObj.getLong("envId"); Integer currentPage = paramObj.getInteger("currentPage"); Integer pageSize = paramObj.getInteger("pageSize"); - Long typeId = paramObj.getLong("typeId"); - List typeIdList = new ArrayList<>(); - if (typeId != null) { - typeIdList.add(typeId); - } String viewName = paramObj.getString("viewName"); + List inspectStatusList = new ArrayList<>(); + JSONArray inspectStatusArray = paramObj.getJSONArray("inspectStatusList"); + if (CollectionUtils.isNotEmpty(inspectStatusArray)) { + inspectStatusList = inspectStatusArray.toJavaList(String.class); + } IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); - JSONArray tableList = resourceCenterDataSource.getAppResourceList(appSystemId, appModuleId, envId, typeIdList, viewName, currentPage, pageSize); + JSONArray tableList = resourceCenterDataSource.getAppResourceList(appSystemId, appModuleId, envId, inspectStatusList, viewName, currentPage, pageSize); for (int i = 0; i < tableList.size(); i++) { JSONObject tableObj = tableList.getJSONObject(i); JSONArray theadList = tableObj.getJSONArray("theadList"); @@ -122,7 +122,6 @@ public class ListInspectAppResourceApi extends PrivateApiComponentBase { if (jobResourceInspectVoOptional.isPresent()) { AutoexecJobResourceInspectVo jobResourceInspectVo = jobResourceInspectVoOptional.get(); AutoexecJobPhaseNodeVo jobPhaseNodeVo = autoexecJobMapper.getJobPhaseNodeInfoByJobPhaseIdAndResourceId(jobResourceInspectVo.getPhaseId(), jobResourceInspectVo.getResourceId()); -// resourceVo.setJobPhaseNodeVo(jobPhaseNodeVo); tbodyObj.put("jobPhaseNodeVo", jobPhaseNodeVo); JSONObject taskStatus = new JSONObject(); taskStatus.put("value", jobPhaseNodeVo.getStatus()); -- Gitee From 3469dba02d94b5d5b2bb6bb9c7efbd60c6f4a57c Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 21 Mar 2025 20:26:21 +0800 Subject: [PATCH 4/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- .../service/InspectCollectServiceImpl.java | 95 ++++++++++--------- 1 file changed, 52 insertions(+), 43 deletions(-) diff --git a/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java b/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java index ea8cdec..d1c1091 100644 --- a/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java +++ b/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java @@ -19,12 +19,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; -import neatlogic.framework.cmdb.crossover.ICiCrossoverMapper; -import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; -import neatlogic.framework.cmdb.dto.ci.CiVo; -import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; -import neatlogic.framework.cmdb.exception.resourcecenter.ResourceNotFoundException; -import neatlogic.framework.crossover.CrossoverServiceFactory; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; +import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.dao.mapper.UserMapper; import neatlogic.framework.dto.UserVo; import neatlogic.framework.inspect.exception.*; @@ -40,7 +36,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; -import java.util.stream.Collectors; /** * @author longrf @@ -196,45 +191,59 @@ public class InspectCollectServiceImpl implements InspectCollectService { @Override public List getCollectionThresholdsAppSystemIdListByResourceId(Long resourceId) { List returnAppSystemIdList = new ArrayList<>(); - IResourceCrossoverMapper iResourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - ResourceVo resourceVo = iResourceCrossoverMapper.getResourceById(resourceId); - if (resourceVo == null) { - throw new ResourceNotFoundException(resourceId); - } - ICiCrossoverMapper iCiCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); - CiVo ciVo = iCiCrossoverMapper.getCiById(resourceVo.getTypeId()); - List parentCiList = iCiCrossoverMapper.getUpwardCiListByLR(ciVo.getLft(), ciVo.getRht()); - if (CollectionUtils.isEmpty(parentCiList)) { - return null; - } - - List parentCiNameList = parentCiList.stream().map(CiVo::getName).collect(Collectors.toList()); +// IResourceCrossoverMapper iResourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); +// ResourceVo resourceVo = iResourceCrossoverMapper.getResourceById(resourceId); +// if (resourceVo == null) { +// throw new ResourceNotFoundException(resourceId); +// } +// ICiCrossoverMapper iCiCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); +// CiVo ciVo = iCiCrossoverMapper.getCiById(resourceVo.getTypeId()); +// List parentCiList = iCiCrossoverMapper.getUpwardCiListByLR(ciVo.getLft(), ciVo.getRht()); +// if (CollectionUtils.isEmpty(parentCiList)) { +// return null; +// } + +// List parentCiNameList = parentCiList.stream().map(CiVo::getName).collect(Collectors.toList()); MongoCollection collection = mongoTemplate.getCollection("_inspectdef_app"); Document searchDoc = new Document(); - //只有OS类型的会关联多个应用实例,因此会有多个系统id - if (parentCiNameList.contains("OS")) { - Set resourceAppSystemIdList = iResourceCrossoverMapper.getResourceAppSystemIdListByResourceId(resourceId); - if (CollectionUtils.isNotEmpty(resourceAppSystemIdList)) { - searchDoc.put("appSystemId", new Document().append("$in", resourceAppSystemIdList)); - } - FindIterable collectionList = collection.find(searchDoc); - if (collectionList.first() != null) { - JSONArray defAppArray = collectionList.into(new JSONArray()); - for (Object object : defAppArray) { - JSONObject dbObject = (JSONObject) JSON.toJSON(object); - returnAppSystemIdList.add(dbObject.getLong("appSystemId")); - } - } - } else { - Long resourceAppSystemId = iResourceCrossoverMapper.getAppSystemIdByResourceId(resourceId); - if (resourceAppSystemId != null) { - searchDoc.put("appSystemId", resourceAppSystemId); - } - FindIterable collectionList = collection.find(searchDoc); - if (collectionList.first() != null) { - JSONObject defAppJson = JSONObject.parseObject(Objects.requireNonNull(collectionList.first()).toJson()); - returnAppSystemIdList.add(defAppJson.getLong("appSystemId")); +// //只有OS类型的会关联多个应用实例,因此会有多个系统id +// if (parentCiNameList.contains("OS")) { +// Set resourceAppSystemIdList = iResourceCrossoverMapper.getResourceAppSystemIdListByResourceId(resourceId); +// if (CollectionUtils.isNotEmpty(resourceAppSystemIdList)) { +// searchDoc.put("appSystemId", new Document().append("$in", resourceAppSystemIdList)); +// } +// FindIterable collectionList = collection.find(searchDoc); +// if (collectionList.first() != null) { +// JSONArray defAppArray = collectionList.into(new JSONArray()); +// for (Object object : defAppArray) { +// JSONObject dbObject = (JSONObject) JSON.toJSON(object); +// returnAppSystemIdList.add(dbObject.getLong("appSystemId")); +// } +// } +// } else { +// Long resourceAppSystemId = iResourceCrossoverMapper.getAppSystemIdByResourceId(resourceId); +// if (resourceAppSystemId != null) { +// searchDoc.put("appSystemId", resourceAppSystemId); +// } +// FindIterable collectionList = collection.find(searchDoc); +// if (collectionList.first() != null) { +// JSONObject defAppJson = JSONObject.parseObject(Objects.requireNonNull(collectionList.first()).toJson()); +// returnAppSystemIdList.add(defAppJson.getLong("appSystemId")); +// } +// } + + IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); + List appSystemIdList = resourceCenterDataSource.getAppSystemIdListById(resourceId); + if (CollectionUtils.isNotEmpty(appSystemIdList)) { + searchDoc.put("appSystemId", new Document().append("$in", appSystemIdList)); + } + FindIterable collectionList = collection.find(searchDoc); + if (collectionList.first() != null) { + JSONArray defAppArray = collectionList.into(new JSONArray()); + for (Object object : defAppArray) { + JSONObject dbObject = (JSONObject) JSON.toJSON(object); + returnAppSystemIdList.add(dbObject.getLong("appSystemId")); } } return returnAppSystemIdList; -- Gitee From e9b1293a676ee402295f82eb83a836554c1ae73c Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Sat, 22 Mar 2025 15:01:12 +0800 Subject: [PATCH 5/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- .../api/report/GetInspectAccessEndPointScriptApi.java | 2 +- .../api/report/SaveInspectAccessEndPointScriptApi.java | 2 +- .../module/inspect/dao/mapper/InspectConfigFileMapper.xml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java b/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java index a403e14..c0c718c 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java @@ -51,7 +51,7 @@ public class GetInspectAccessEndPointScriptApi extends PrivateApiComponentBase { public Object myDoService(JSONObject paramObj) throws Exception { Long resourceId = paramObj.getLong("resourceId"); IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - if (resourceCrossoverMapper.checkResourceIsExists(resourceId) == 0) { + if (resourceCrossoverMapper.checkResourceIsExists(resourceId) == null) { throw new ResourceNotFoundException(resourceId); } return inspectMapper.getResourceScriptByResourceId(resourceId); diff --git a/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java b/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java index 3f4eda1..c1957e7 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java @@ -66,7 +66,7 @@ public class SaveInspectAccessEndPointScriptApi extends PrivateApiComponentBase Long resourceId = paramObj.getLong("resourceId"); JSONObject paramConfig = paramObj.getJSONObject("config"); IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - if (resourceCrossoverMapper.checkResourceIsExists(resourceId) == 0) { + if (resourceCrossoverMapper.checkResourceIsExists(resourceId) == null) { throw new ResourceNotFoundException(resourceId); } inspectMapper.deleteResourceScriptByResourceId(resourceId); diff --git a/src/main/java/neatlogic/module/inspect/dao/mapper/InspectConfigFileMapper.xml b/src/main/java/neatlogic/module/inspect/dao/mapper/InspectConfigFileMapper.xml index 8bda7b7..799a1df 100644 --- a/src/main/java/neatlogic/module/inspect/dao/mapper/InspectConfigFileMapper.xml +++ b/src/main/java/neatlogic/module/inspect/dao/mapper/InspectConfigFileMapper.xml @@ -433,7 +433,7 @@ SELECT COUNT(1) FROM `inspect_config_file_path` a - LEFT JOIN @{DATA_SCHEMA}.`scence_ipobject_ip_port` b ON b.`id` = a.`resource_id` + LEFT JOIN @{DATA_SCHEMA}.`scence_ipobject_detail` b ON b.`id` = a.`resource_id` AND (a.`path` LIKE CONCAT('%', #{keyword}, '%') @@ -463,7 +463,7 @@ b.`port` AS resourcePort, b.`type_label` AS resourceTypeLabel FROM `inspect_config_file_path` a - JOIN @{DATA_SCHEMA}.`scence_ipobject_ip_port` b ON b.`id` = a.`resource_id` + JOIN @{DATA_SCHEMA}.`scence_ipobject_detail` b ON b.`id` = a.`resource_id` AND (a.`path` LIKE CONCAT('%', #{keyword}, '%') @@ -498,7 +498,7 @@ b.`type_label` AS resourceTypeLabel, c.`id` AS versionId FROM `inspect_config_file_path` a - JOIN @{DATA_SCHEMA}.`scence_ipobject_ip_port` b ON b.`id` = a.`resource_id` + JOIN @{DATA_SCHEMA}.`scence_ipobject_detail` b ON b.`id` = a.`resource_id` JOIN `inspect_config_file_version` c ON c.`path_id` = a.`id` AND c.`file_id` = a.`file_id` WHERE c.`job_id` = #{value} -- Gitee From 3c5063337cf0df6339c19e7e2a74cd6ca3acc182 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Sun, 23 Mar 2025 10:13:42 +0800 Subject: [PATCH 6/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- .../inspect/api/report/GetInspectAccessEndPointScriptApi.java | 2 +- .../inspect/api/report/SaveInspectAccessEndPointScriptApi.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java b/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java index c0c718c..06dd0ad 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/GetInspectAccessEndPointScriptApi.java @@ -51,7 +51,7 @@ public class GetInspectAccessEndPointScriptApi extends PrivateApiComponentBase { public Object myDoService(JSONObject paramObj) throws Exception { Long resourceId = paramObj.getLong("resourceId"); IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - if (resourceCrossoverMapper.checkResourceIsExists(resourceId) == null) { + if (resourceCrossoverMapper.getResourceIdByResourceId(resourceId) == null) { throw new ResourceNotFoundException(resourceId); } return inspectMapper.getResourceScriptByResourceId(resourceId); diff --git a/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java b/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java index c1957e7..88ecbb9 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/SaveInspectAccessEndPointScriptApi.java @@ -66,7 +66,7 @@ public class SaveInspectAccessEndPointScriptApi extends PrivateApiComponentBase Long resourceId = paramObj.getLong("resourceId"); JSONObject paramConfig = paramObj.getJSONObject("config"); IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - if (resourceCrossoverMapper.checkResourceIsExists(resourceId) == null) { + if (resourceCrossoverMapper.getResourceIdByResourceId(resourceId) == null) { throw new ResourceNotFoundException(resourceId); } inspectMapper.deleteResourceScriptByResourceId(resourceId); -- Gitee From b2864815a8110698b25d977a9643afb00c5550ef Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 2 Apr 2025 11:55:41 +0800 Subject: [PATCH 7/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- ...ListInspectAppThresholdsCollectionApi.java | 8 -- .../api/report/InspectAppModuleReportApi.java | 103 ------------------ .../api/report/ListInspectAppEnvApi.java | 3 - .../api/report/SearchInspectAppModuleApi.java | 4 - .../plugin/InspectAppSystemScheduleJob.java | 80 -------------- .../service/InspectCollectServiceImpl.java | 40 ------- 6 files changed, 238 deletions(-) delete mode 100644 src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java diff --git a/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java b/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java index a6fd50c..98ba3f7 100644 --- a/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java +++ b/src/main/java/neatlogic/module/inspect/api/definition/ListInspectAppThresholdsCollectionApi.java @@ -87,14 +87,6 @@ public class ListInspectAppThresholdsCollectionApi extends PrivateApiComponentBa set.addAll(entry.getValue()); } List resourceTypeIdList = new ArrayList<>(set); -// ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); -// List resourceTypeIdList = new ArrayList<>(); -// IResourceCrossoverMapper iResourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); -// Set resourceTypeIdSet = iResourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); -// if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { -// resourceTypeIdList.addAll(resourceTypeIdSet); -// resourceTypeIdList.addAll(iResourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo)); -// } if (CollectionUtils.isNotEmpty(resourceTypeIdList)) { ICiCrossoverMapper iCiCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); diff --git a/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java b/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java deleted file mode 100644 index 2c63e50..0000000 --- a/src/main/java/neatlogic/module/inspect/api/report/InspectAppModuleReportApi.java +++ /dev/null @@ -1,103 +0,0 @@ -package neatlogic.module.inspect.api.report; - -import neatlogic.framework.auth.core.AuthAction; -import neatlogic.framework.autoexec.dao.mapper.AutoexecJobMapper; -import neatlogic.framework.autoexec.dto.job.AutoexecJobPhaseNodeVo; -import neatlogic.framework.autoexec.dto.job.AutoexecJobResourceInspectVo; -import neatlogic.framework.cmdb.crossover.IResourceCenterResourceCrossoverService; -import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; -import neatlogic.framework.common.constvalue.ApiParamType; -import neatlogic.framework.crossover.CrossoverServiceFactory; -import neatlogic.framework.inspect.auth.INSPECT_BASE; -import neatlogic.framework.inspect.dto.InspectResourceVo; -import neatlogic.framework.restful.annotation.*; -import neatlogic.framework.restful.constvalue.OperationTypeEnum; -import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.stream.Collectors; - -/** - * @author longrf - * @date 2022/2/17 11:28 上午 - */ -@Service -@Deprecated -@AuthAction(action = INSPECT_BASE.class) -@OperationType(type = OperationTypeEnum.SEARCH) -public class InspectAppModuleReportApi extends PrivateApiComponentBase { - - @Resource - AutoexecJobMapper autoexecJobMapper; - - @Override - - public String getName() { - return "获取巡检应用报告列表"; - } - - @Override - public String getToken() { - return "inspect/appmodule/report/search"; - } - - @Override - public String getConfig() { - return null; - } - - @Input({ - @Param(name = "appSystemId", type = ApiParamType.LONG, desc = "应用id"), - @Param(name = "appModuleId", type = ApiParamType.LONG, desc = "应用模块id"), - @Param(name = "envId", type = ApiParamType.LONG, desc = "环境id,envId=-2时表示无配置环境"), - @Param(name = "typeId", type = ApiParamType.LONG, desc = "类型id"), - @Param(name = "inspectStatusList", type = ApiParamType.JSONARRAY, desc = "巡检状态列表"), - @Param(name = "currentPage", type = ApiParamType.INTEGER, desc = "当前页"), - @Param(name = "pageSize", type = ApiParamType.INTEGER, desc = "每页数据条目"), - @Param(name = "needPage", type = ApiParamType.BOOLEAN, desc = "是否需要分页,默认true") - }) - @Output({ - @Param(name = "tableList", type = ApiParamType.JSONARRAY, desc = "巡检应用报告列表") - }) - @Description(desc = "获取巡检应用报告列表") - @Override - public Object myDoService(JSONObject paramObj) throws Exception { - ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); - JSONObject resourceJson = new JSONObject(); - List resourceVoList = new ArrayList<>(); - IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); - JSONArray appModuleResourceList = resourceCrossoverService.getAppModuleResourceList(searchVo); - for (int i = 0; i < appModuleResourceList.size(); i++) { - JSONObject jsonObject = appModuleResourceList.getJSONObject(i); - List voList = JSONObject.parseArray(jsonObject.getJSONArray("tbodyList").toString(),InspectResourceVo.class); - resourceVoList.addAll(voList); - //voList是List,覆盖原来的List, 以便resourceVoList的vo的循环赋值 - jsonObject.put("tbodyList", voList); - } - //补充巡检相关信息 - if (CollectionUtils.isNotEmpty(resourceVoList)) { - List jobResourceInspectVos = autoexecJobMapper.getJobResourceInspectByResourceId(resourceVoList.stream().map(InspectResourceVo::getId).collect(Collectors.toList())); - if (CollectionUtils.isNotEmpty(jobResourceInspectVos)) { - for (InspectResourceVo resourceVo : resourceVoList) { - Optional jobResourceInspectVoOptional = jobResourceInspectVos.stream().filter(o -> Objects.equals(o.getResourceId(), resourceVo.getId())).findFirst(); - if (jobResourceInspectVoOptional.isPresent()) { - AutoexecJobResourceInspectVo jobResourceInspectVo = jobResourceInspectVoOptional.get(); - AutoexecJobPhaseNodeVo jobPhaseNodeVo = autoexecJobMapper.getJobPhaseNodeInfoByJobPhaseIdAndResourceId(jobResourceInspectVo.getPhaseId(), jobResourceInspectVo.getResourceId()); - resourceVo.setJobPhaseNodeVo(jobPhaseNodeVo); - } - } - } - } - resourceJson.put("tableList", appModuleResourceList); - return resourceJson; - } - -} diff --git a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java index 4e02f5b..0efd7b8 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/ListInspectAppEnvApi.java @@ -63,8 +63,5 @@ public class ListInspectAppEnvApi extends PrivateApiComponentBase { Long appSystemId = paramObj.getLong("appSystemId"); IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); return resourceCenterDataSource.getAppEnvListByAppSystemId(appSystemId); -// ResourceSearchVo searchVo = paramObj.toJavaObject(ResourceSearchVo.class); -// IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); -// return resourceCrossoverService.getAppEnvList(searchVo); } } diff --git a/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java b/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java index 57bd90d..8d5bd07 100644 --- a/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java +++ b/src/main/java/neatlogic/module/inspect/api/report/SearchInspectAppModuleApi.java @@ -16,14 +16,12 @@ package neatlogic.module.inspect.api.report; import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; -import neatlogic.framework.cmdb.crossover.IResourceCenterResourceCrossoverService; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; import neatlogic.framework.cmdb.resourcecenter.datasource.core.ResourceCenterDataSourceFactory; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.common.dto.BasePageVo; -import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.inspect.auth.INSPECT_BASE; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; @@ -75,7 +73,5 @@ public class SearchInspectAppModuleApi extends PrivateApiComponentBase { IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); List tbodyList = resourceCenterDataSource.getAppModuleList(searchVo); return TableResultUtil.getResult(tbodyList, searchVo); -// IResourceCenterResourceCrossoverService resourceCrossoverService = CrossoverServiceFactory.getApi(IResourceCenterResourceCrossoverService.class); -// return TableResultUtil.getResult(resourceCrossoverService.getAppModuleList(searchVo), searchVo); } } diff --git a/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java b/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java index 9e73eb9..211e3b9 100644 --- a/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java +++ b/src/main/java/neatlogic/module/inspect/schedule/plugin/InspectAppSystemScheduleJob.java @@ -178,86 +178,6 @@ public class InspectAppSystemScheduleJob extends JobBase { logger.error(e.getMessage(), e); } } -// List ipObjectResourceTypeIdList = new ArrayList<>(); -// List osResourceTypeIdList = new ArrayList<>(); -// IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); -// ResourceSearchVo searchVo = new ResourceSearchVo(); -// searchVo.setAppSystemId(scheduleVo.getAppSystemId()); -// Set resourceTypeIdSet = resourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); -// ipObjectResourceTypeIdList.addAll(resourceTypeIdSet); -// ipObjectResourceTypeIdList.sort(Long::compare); -// if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { -// resourceTypeIdSet = resourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo); -// osResourceTypeIdList.addAll(resourceTypeIdSet); -// osResourceTypeIdList.sort(Long::compare); -// } -// for (Long typeId : ipObjectResourceTypeIdList) { -// Long combopId = inspectMapper.getCombopIdByCiId(typeId); -// if (combopId == null) { -// continue; -// } -// ICiCrossoverMapper ciCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); -// CiVo ci = ciCrossoverMapper.getCiById(typeId); -// if (ci == null) { -// continue; -// } -// String name = ci.getLabel() + (ci.getName() != null ? "(" + ci.getName() + ")" : StringUtils.EMPTY) + " 巡检"; -// List selectNodeList = new ArrayList<>(); -// searchVo.setTypeId(typeId); -// int rowNum = resourceCrossoverMapper.getIpObjectResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (rowNum > 0) { -// searchVo.setRowNum(rowNum); -// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { -// searchVo.setCurrentPage(currentPage); -// List idList = resourceCrossoverMapper.getIpObjectResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (CollectionUtils.isNotEmpty(idList)) { -// List resourceList = resourceCrossoverMapper.getResourceByIdList(idList); -// for (ResourceVo resourceVo : resourceList) { -// selectNodeList.add(new AutoexecNodeVo(resourceVo)); -// } -// } -// } -// try { -// createAndFireJob(combopId, id, name, userUuid, selectNodeList); -// } catch (Exception e) { -// logger.error(e.getMessage(), e); -// } -// } -// } -// for (Long typeId : osResourceTypeIdList) { -// Long combopId = inspectMapper.getCombopIdByCiId(typeId); -// if (combopId == null) { -// continue; -// } -// ICiCrossoverMapper ciCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); -// CiVo ci = ciCrossoverMapper.getCiById(typeId); -// if (ci == null) { -// continue; -// } -// String name = ci.getLabel() + (ci.getName() != null ? "(" + ci.getName() + ")" : StringUtils.EMPTY) + " 巡检"; -// List selectNodeList = new ArrayList<>(); -// searchVo.setTypeId(typeId); -// int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (rowNum > 0) { -// searchVo.setRowNum(rowNum); -// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { -// searchVo.setCurrentPage(currentPage); -// List idList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (CollectionUtils.isNotEmpty(idList)) { -// List resourceList = resourceCrossoverMapper.getResourceByIdList(idList); -// for (ResourceVo resourceVo : resourceList) { -// selectNodeList.add(new AutoexecNodeVo(resourceVo)); -// } -// } -// } -// try { -// createAndFireJob(combopId, id, name, userUuid, selectNodeList); -// } catch (Exception e) { -// logger.error(e.getMessage(), e); -// } -// } -// } - } private void createAndFireJob(Long combopId, Long invokeId, String name, String userUuid, List selectNodeList) throws Exception { diff --git a/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java b/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java index d1c1091..81ba889 100644 --- a/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java +++ b/src/main/java/neatlogic/module/inspect/service/InspectCollectServiceImpl.java @@ -191,48 +191,8 @@ public class InspectCollectServiceImpl implements InspectCollectService { @Override public List getCollectionThresholdsAppSystemIdListByResourceId(Long resourceId) { List returnAppSystemIdList = new ArrayList<>(); -// IResourceCrossoverMapper iResourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); -// ResourceVo resourceVo = iResourceCrossoverMapper.getResourceById(resourceId); -// if (resourceVo == null) { -// throw new ResourceNotFoundException(resourceId); -// } -// ICiCrossoverMapper iCiCrossoverMapper = CrossoverServiceFactory.getApi(ICiCrossoverMapper.class); -// CiVo ciVo = iCiCrossoverMapper.getCiById(resourceVo.getTypeId()); -// List parentCiList = iCiCrossoverMapper.getUpwardCiListByLR(ciVo.getLft(), ciVo.getRht()); -// if (CollectionUtils.isEmpty(parentCiList)) { -// return null; -// } - -// List parentCiNameList = parentCiList.stream().map(CiVo::getName).collect(Collectors.toList()); MongoCollection collection = mongoTemplate.getCollection("_inspectdef_app"); Document searchDoc = new Document(); - -// //只有OS类型的会关联多个应用实例,因此会有多个系统id -// if (parentCiNameList.contains("OS")) { -// Set resourceAppSystemIdList = iResourceCrossoverMapper.getResourceAppSystemIdListByResourceId(resourceId); -// if (CollectionUtils.isNotEmpty(resourceAppSystemIdList)) { -// searchDoc.put("appSystemId", new Document().append("$in", resourceAppSystemIdList)); -// } -// FindIterable collectionList = collection.find(searchDoc); -// if (collectionList.first() != null) { -// JSONArray defAppArray = collectionList.into(new JSONArray()); -// for (Object object : defAppArray) { -// JSONObject dbObject = (JSONObject) JSON.toJSON(object); -// returnAppSystemIdList.add(dbObject.getLong("appSystemId")); -// } -// } -// } else { -// Long resourceAppSystemId = iResourceCrossoverMapper.getAppSystemIdByResourceId(resourceId); -// if (resourceAppSystemId != null) { -// searchDoc.put("appSystemId", resourceAppSystemId); -// } -// FindIterable collectionList = collection.find(searchDoc); -// if (collectionList.first() != null) { -// JSONObject defAppJson = JSONObject.parseObject(Objects.requireNonNull(collectionList.first()).toJson()); -// returnAppSystemIdList.add(defAppJson.getLong("appSystemId")); -// } -// } - IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); List appSystemIdList = resourceCenterDataSource.getAppSystemIdListById(resourceId); if (CollectionUtils.isNotEmpty(appSystemIdList)) { -- Gitee From d488e7f92c9ee254dff0366177285845a127b6e9 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 2 Apr 2025 11:58:41 +0800 Subject: [PATCH 8/8] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20CMDB=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=B1=82=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 --- .../service/InspectReportServiceImpl.java | 42 ------------------- 1 file changed, 42 deletions(-) diff --git a/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java b/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java index a145a9c..aa51f05 100644 --- a/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java +++ b/src/main/java/neatlogic/module/inspect/service/InspectReportServiceImpl.java @@ -23,7 +23,6 @@ import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import neatlogic.framework.cmdb.crossover.ICiCrossoverMapper; import neatlogic.framework.cmdb.crossover.IResourceCenterResourceCrossoverService; -import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; import neatlogic.framework.cmdb.dto.ci.CiVo; import neatlogic.framework.cmdb.dto.resourcecenter.BgVo; import neatlogic.framework.cmdb.dto.resourcecenter.IpVo; @@ -445,19 +444,8 @@ public class InspectReportServiceImpl implements InspectReportService { @Override public Workbook getInspectNewProblemReportWorkbookByAppSystemId(Long appSystemId, Integer isNeedAlertDetail) { - List ipObjectResourceTypeIdList = new ArrayList<>(); - List osResourceTypeIdList = new ArrayList<>(); - IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); ResourceSearchVo searchVo = new ResourceSearchVo(); searchVo.setAppSystemId(appSystemId); -// Set resourceTypeIdSet = resourceCrossoverMapper.getIpObjectResourceTypeIdListByAppSystemIdAndEnvId(searchVo); -// ipObjectResourceTypeIdList.addAll(resourceTypeIdSet); -// ipObjectResourceTypeIdList.sort(Long::compare); -// if (CollectionUtils.isNotEmpty(resourceTypeIdSet)) { -// resourceTypeIdSet = resourceCrossoverMapper.getOsResourceTypeIdListByAppSystemIdAndEnvId(searchVo); -// osResourceTypeIdList.addAll(resourceTypeIdSet); -// osResourceTypeIdList.sort(Long::compare); -// } List headerList = new ArrayList<>(); List columnList = new ArrayList<>(); @@ -495,36 +483,6 @@ public class InspectReportServiceImpl implements InspectReportService { } } } -// for (Long resourceTypeId : ipObjectResourceTypeIdList) { -// searchVo.setTypeId(resourceTypeId); -// int rowNum = resourceCrossoverMapper.getIpObjectResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (rowNum > 0) { -// searchVo.setRowNum(rowNum); -// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { -// searchVo.setCurrentPage(currentPage); -// List idList = resourceCrossoverMapper.getIpObjectResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (CollectionUtils.isNotEmpty(idList)) { -// List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); -// putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); -// } -// } -// } -// } -// for (Long resourceTypeId : osResourceTypeIdList) { -// searchVo.setTypeId(resourceTypeId); -// int rowNum = resourceCrossoverMapper.getOsResourceCountByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (rowNum > 0) { -// searchVo.setRowNum(rowNum); -// for (int currentPage = 1; currentPage <= searchVo.getPageCount(); currentPage++) { -// searchVo.setCurrentPage(currentPage); -// List idList = resourceCrossoverMapper.getOsResourceIdListByAppSystemIdAndAppModuleIdAndEnvIdAndTypeId(searchVo); -// if (CollectionUtils.isNotEmpty(idList)) { -// List inspectResourceVos = inspectMapper.getInspectResourceListByIdList(idList); -// putCommonDataMap(idList, inspectResourceVos, isNeedAlertDetail, nameList, fieldPathTextMap, sheetBuilder); -// } -// } -// } -// } return workbook; } -- Gitee