From 0c2ff1cac2a6d93c3c0c68382debb6eae24e2b50 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 17 Jul 2025 18:33:03 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E9=9B=86=E6=88=90?= =?UTF-8?q?=E4=B8=8E=E5=8F=91=E5=B8=83-=E5=8F=91=E5=B8=83=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E4=B8=93=E7=94=A8-=E8=8E=B7=E5=8F=96=E6=9F=90?= =?UTF-8?q?=E4=B8=AA=E7=8E=AF=E5=A2=83=E7=9A=84DBConfig=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1467502456963072]集成与发布-发布作业专用-获取某个环境的DBConfig配置优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1467502456963072 --- ...loyAppConfigEnvDBConfigForAutoexecApi.java | 52 ++++++++++++------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvDBConfigForAutoexecApi.java b/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvDBConfigForAutoexecApi.java index 8c93d5f3..1b7d026f 100644 --- a/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvDBConfigForAutoexecApi.java +++ b/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvDBConfigForAutoexecApi.java @@ -1,9 +1,14 @@ package neatlogic.module.deploy.api.appconfig.env; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; +import neatlogic.framework.cmdb.crossover.IAttrCrossoverMapper; import neatlogic.framework.cmdb.crossover.ICiEntityCrossoverService; +import neatlogic.framework.cmdb.crossover.IResourceEntityCrossoverMapper; +import neatlogic.framework.cmdb.dto.ci.AttrVo; import neatlogic.framework.cmdb.dto.cientity.AttrEntityVo; import neatlogic.framework.cmdb.dto.cientity.CiEntityVo; +import neatlogic.framework.cmdb.dto.resourcecenter.config.ResourceEntityVo; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.deploy.auth.DEPLOY_BASE; @@ -12,7 +17,6 @@ import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.module.deploy.dao.mapper.DeployAppConfigMapper; -import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -75,10 +79,29 @@ public class GetDeployAppConfigEnvDBConfigForAutoexecApi extends PrivateApiCompo } Set dbResourceIdSet = allDBConfigVoList.stream().map(DeployAppConfigEnvDBConfigVo::getDbResourceId).collect(Collectors.toSet()); //获取db属性 - ICiEntityCrossoverService ciEntityCrossoverService = CrossoverServiceFactory.getApi(ICiEntityCrossoverService.class); - CiEntityVo paramCiEntityVo = new CiEntityVo(); - paramCiEntityVo.setIdList(new ArrayList<>(dbResourceIdSet)); - List allDBResourceInfoList = ciEntityCrossoverService.getCiEntityByIdList(paramCiEntityVo); + List allDBResourceInfoList = null; + IResourceEntityCrossoverMapper resourceEntityCrossoverMapper = CrossoverServiceFactory.getApi(IResourceEntityCrossoverMapper.class); + ResourceEntityVo resourceEntityVo = resourceEntityCrossoverMapper.getResourceEntityByName("scence_database_ip_port_env_appmodule"); + if (resourceEntityVo != null) { + Long ciId = resourceEntityVo.getCiId(); + if (ciId != null) { + CiEntityVo paramCiEntityVo = new CiEntityVo(); + List attrIdList = new ArrayList<>(); + List attrNameList = Arrays.asList("ip", "name", "service_addr", "port"); + IAttrCrossoverMapper attrCrossoverMapper = CrossoverServiceFactory.getApi(IAttrCrossoverMapper.class); + List attrList = attrCrossoverMapper.getAttrByCiId(ciId); + for (AttrVo attrVo : attrList) { + if (attrNameList.contains(attrVo.getName())) { + attrIdList.add(attrVo.getId()); + } + } + paramCiEntityVo.setAttrIdList(attrIdList); + paramCiEntityVo.setCiId(ciId); + ICiEntityCrossoverService ciEntityCrossoverService = CrossoverServiceFactory.getApi(ICiEntityCrossoverService.class); + paramCiEntityVo.setIdList(new ArrayList<>(dbResourceIdSet)); + allDBResourceInfoList = ciEntityCrossoverService.searchCiEntity(paramCiEntityVo); + } + } if (CollectionUtils.isEmpty(allDBResourceInfoList)) { return null; } @@ -102,24 +125,17 @@ public class GetDeployAppConfigEnvDBConfigForAutoexecApi extends PrivateApiCompo for (AttrEntityVo attrEntityVo : attrEntityList) { if (StringUtils.equals("ip", attrEntityVo.getAttrName())) { nodeObj.put("host", attrEntityVo.getValueList().get(0)); - continue; - } - if (StringUtils.equals("name", attrEntityVo.getAttrName())) { + } else if (StringUtils.equals("name", attrEntityVo.getAttrName())) { nodeObj.put("name", attrEntityVo.getValueList().get(0)); - continue; - } - if (StringUtils.equals("service_addr", attrEntityVo.getAttrName())) { + } else if (StringUtils.equals("service_addr", attrEntityVo.getAttrName())) { nodeObj.put("serviceAddr", attrEntityVo.getValueList().get(0)); - continue; - } - if (StringUtils.equals("port", attrEntityVo.getAttrName())) { + } else if (StringUtils.equals("port", attrEntityVo.getAttrName())) { nodeObj.put("port", attrEntityVo.getValueList().get(0)); - continue; } - dbResourceObj.put("node", nodeObj); - dbResourceObj.put("args", dbConfigVo.getConfig()); - returnDBUserObject.put(dbConfigVo.getDbSchema(), dbResourceObj); } + dbResourceObj.put("node", nodeObj); + dbResourceObj.put("args", dbConfigVo.getConfig()); + returnDBUserObject.put(dbConfigVo.getDbSchema(), dbResourceObj); } return returnDBUserObject; } -- Gitee