From f5c7034d9822e0f2dd12b990c72dcc2a67efc1f4 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Sat, 22 Mar 2025 15:02:29 +0800 Subject: [PATCH 1/2] =?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 --- .../env/GetDeployAppConfigEnvInfoApi.java | 10 +- .../RollbackDeployInstanceVersionApi.java | 8 +- .../SaveDeployInstanceVersionApi.java | 8 +- .../api/job/ListDeployJobModuleApi.java | 6 +- .../SearchDeployVersionInstanceApi.java | 14 +- .../dao/mapper/DeployResourceMapper.java | 37 ++++ .../dao/mapper/DeployResourceMapper.xml | 187 ++++++++++++++++++ .../AppInstanceEnvAppModuleAppSystemVo.java | 82 ++++++++ .../DataBaseIpPortEnvAppModuleVo.java | 70 +++++++ .../deploy/service/DeployJobServiceImpl.java | 10 +- 10 files changed, 413 insertions(+), 19 deletions(-) create mode 100644 src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.java create mode 100644 src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.xml create mode 100644 src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/AppInstanceEnvAppModuleAppSystemVo.java create mode 100644 src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/DataBaseIpPortEnvAppModuleVo.java diff --git a/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java b/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java index 28d2767f..3da3c014 100644 --- a/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java +++ b/src/main/java/neatlogic/module/deploy/api/appconfig/env/GetDeployAppConfigEnvInfoApi.java @@ -20,7 +20,6 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.CollectionUtils; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.cmdb.crossover.ICiEntityCrossoverMapper; -import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; import neatlogic.framework.cmdb.dto.cientity.CiEntityVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; import neatlogic.framework.common.constvalue.ApiParamType; @@ -36,6 +35,7 @@ import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.module.deploy.dao.mapper.DeployAppConfigMapper; import neatlogic.module.deploy.dao.mapper.DeployInstanceVersionMapper; +import neatlogic.module.deploy.dao.mapper.DeployResourceMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -61,6 +61,9 @@ public class GetDeployAppConfigEnvInfoApi extends PrivateApiComponentBase { @Resource DeployInstanceVersionMapper deployInstanceVersionMapper; + @Resource + private DeployResourceMapper deployResourceMapper; + @Override public String getToken() { return "deploy/app/config/env/info/get"; @@ -94,14 +97,13 @@ public class GetDeployAppConfigEnvInfoApi extends PrivateApiComponentBase { //获取环境 autoConfig List envAutoConfigList = deployAppConfigMapper.getAppEnvAutoConfigKeyValueList(envAutoConfigVo); envInfo.put("envAutoConfigList", envAutoConfigList); - IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); //获取应用实例下的实例列表 - List instanceIdList = resourceCrossoverMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(paramObj.toJavaObject(ResourceVo.class)); + List instanceIdList = deployResourceMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(paramObj.toJavaObject(ResourceVo.class)); //获取实例autoConfig if (CollectionUtils.isNotEmpty(instanceIdList)) { - List instanceList = resourceCrossoverMapper.getAppInstanceResourceListByIdList(instanceIdList); + List instanceList = deployResourceMapper.getAppInstanceResourceListByIdList(instanceIdList); // 补充实例当前版本信息 List instanceVersionVoList = deployInstanceVersionMapper.getDeployInstanceVersionByEnvIdAndInstanceIdList(envAutoConfigVo.getAppSystemId(), envAutoConfigVo.getAppModuleId(), envAutoConfigVo.getEnvId(), instanceIdList); if (CollectionUtils.isNotEmpty(instanceVersionVoList)) { diff --git a/src/main/java/neatlogic/module/deploy/api/instance/RollbackDeployInstanceVersionApi.java b/src/main/java/neatlogic/module/deploy/api/instance/RollbackDeployInstanceVersionApi.java index ca4ee257..50227967 100644 --- a/src/main/java/neatlogic/module/deploy/api/instance/RollbackDeployInstanceVersionApi.java +++ b/src/main/java/neatlogic/module/deploy/api/instance/RollbackDeployInstanceVersionApi.java @@ -17,7 +17,9 @@ import neatlogic.framework.deploy.exception.DeployInstanceVersionWhichCanRollbac 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 neatlogic.module.deploy.dao.mapper.DeployInstanceVersionMapper; +import neatlogic.module.deploy.dao.mapper.DeployResourceMapper; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,6 +37,9 @@ public class RollbackDeployInstanceVersionApi extends PrivateApiComponentBase { @Resource DeployInstanceVersionMapper deployInstanceVersionMapper; + @Resource + private DeployResourceMapper deployResourceMapper; + @Override public String getName() { return "回退实例的版本"; @@ -71,8 +76,7 @@ public class RollbackDeployInstanceVersionApi extends PrivateApiComponentBase { throw new AppEnvNotFoundException(envId); } String envName = env.getName(); - IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - List instanceIdList = resourceCrossoverMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(new ResourceVo(sysId, moduleId, envId)); + List instanceIdList = deployResourceMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(new ResourceVo(sysId, moduleId, envId)); if (CollectionUtils.isEmpty(instanceIdList) || !instanceIdList.contains(resourceId)) { throw new DeployInstanceInEnvNotFoundException(paramObj.getString("sysName"), paramObj.getString("moduleName"), envName, resourceId); } diff --git a/src/main/java/neatlogic/module/deploy/api/instance/SaveDeployInstanceVersionApi.java b/src/main/java/neatlogic/module/deploy/api/instance/SaveDeployInstanceVersionApi.java index 70347a19..d652364c 100644 --- a/src/main/java/neatlogic/module/deploy/api/instance/SaveDeployInstanceVersionApi.java +++ b/src/main/java/neatlogic/module/deploy/api/instance/SaveDeployInstanceVersionApi.java @@ -22,7 +22,9 @@ import neatlogic.framework.exception.user.UserNotFoundException; 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 neatlogic.module.deploy.dao.mapper.DeployInstanceVersionMapper; +import neatlogic.module.deploy.dao.mapper.DeployResourceMapper; import neatlogic.module.deploy.dao.mapper.DeployVersionMapper; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -44,6 +46,9 @@ public class SaveDeployInstanceVersionApi extends PrivateApiComponentBase { @Resource DeployInstanceVersionMapper deployInstanceVersionMapper; + @Resource + private DeployResourceMapper deployResourceMapper; + @Resource UserMapper userMapper; @@ -95,8 +100,7 @@ public class SaveDeployInstanceVersionApi extends PrivateApiComponentBase { throw new AppEnvNotFoundException(envId); } String envName = env.getName(); - IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - List instanceIdList = resourceCrossoverMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(new ResourceVo(sysId, moduleId, envId)); + List instanceIdList = deployResourceMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(new ResourceVo(sysId, moduleId, envId)); if (CollectionUtils.isEmpty(instanceIdList) || !instanceIdList.contains(resourceId)) { throw new DeployInstanceInEnvNotFoundException(paramObj.getString("sysName"), paramObj.getString("moduleName"), envName, resourceId); } diff --git a/src/main/java/neatlogic/module/deploy/api/job/ListDeployJobModuleApi.java b/src/main/java/neatlogic/module/deploy/api/job/ListDeployJobModuleApi.java index d1f552c9..ae81a14b 100644 --- a/src/main/java/neatlogic/module/deploy/api/job/ListDeployJobModuleApi.java +++ b/src/main/java/neatlogic/module/deploy/api/job/ListDeployJobModuleApi.java @@ -36,6 +36,7 @@ import neatlogic.framework.restful.annotation.Param; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.module.deploy.dao.mapper.DeployAppConfigMapper; +import neatlogic.module.deploy.dao.mapper.DeployResourceMapper; import neatlogic.module.deploy.util.DeployPipelineConfigManager; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -56,6 +57,9 @@ public class ListDeployJobModuleApi extends PrivateApiComponentBase { @Resource private DeployAppConfigMapper deployAppConfigMapper; + @Resource + private DeployResourceMapper deployResourceMapper; + @Override public String getName() { return "根据系统、环境、场景查询一键发布页面的模块信息列表"; @@ -89,7 +93,7 @@ public class ListDeployJobModuleApi extends PrivateApiComponentBase { List moduleResourceList = new ArrayList<>(); IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); List moduleIdSet = new ArrayList<>(); - List moduleIdList = resourceCrossoverMapper.getAppSystemModuleIdListByAppSystemIdAndAppModuleIdListAndEnvId(paramObj.getLong("appSystemId"),paramObj.getLong("envId"), paramObj.getJSONArray("appModuleIdList")); + List moduleIdList = deployResourceMapper.getAppSystemModuleIdListByAppSystemIdAndAppModuleIdListAndEnvId(paramObj.getLong("appSystemId"),paramObj.getLong("envId"), paramObj.getJSONArray("appModuleIdList")); moduleIdSet.addAll(moduleIdList); moduleIdList = deployAppConfigMapper.getAppModuleIdListByAppSystemIdAndEnvId(paramObj.getLong("appSystemId"),paramObj.getLong("envId")); moduleIdSet.addAll(moduleIdList); diff --git a/src/main/java/neatlogic/module/deploy/api/version/SearchDeployVersionInstanceApi.java b/src/main/java/neatlogic/module/deploy/api/version/SearchDeployVersionInstanceApi.java index 67b1a062..02680440 100644 --- a/src/main/java/neatlogic/module/deploy/api/version/SearchDeployVersionInstanceApi.java +++ b/src/main/java/neatlogic/module/deploy/api/version/SearchDeployVersionInstanceApi.java @@ -1,11 +1,9 @@ package neatlogic.module.deploy.api.version; -import neatlogic.framework.asynchronization.threadlocal.TenantContext; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; -import neatlogic.framework.cmdb.crossover.IResourceCrossoverMapper; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; import neatlogic.framework.common.constvalue.ApiParamType; -import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.deploy.auth.DEPLOY_BASE; import neatlogic.framework.deploy.dto.version.DeployVersionEnvInstanceVo; import neatlogic.framework.deploy.dto.version.DeployVersionVo; @@ -13,8 +11,8 @@ import neatlogic.framework.deploy.exception.DeployVersionNotFoundException; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; +import neatlogic.module.deploy.dao.mapper.DeployResourceMapper; import neatlogic.module.deploy.dao.mapper.DeployVersionMapper; -import com.alibaba.fastjson.JSONObject; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -31,6 +29,9 @@ public class SearchDeployVersionInstanceApi extends PrivateApiComponentBase { @Resource DeployVersionMapper deployVersionMapper; + @Resource + private DeployResourceMapper deployResourceMapper; + @Override public String getName() { return "查询版本实例发布状态"; @@ -65,11 +66,10 @@ public class SearchDeployVersionInstanceApi extends PrivateApiComponentBase { throw new DeployVersionNotFoundException(versionId); } List result = new ArrayList<>(); - IResourceCrossoverMapper resourceCrossoverMapper = CrossoverServiceFactory.getApi(IResourceCrossoverMapper.class); - List instanceIdList = resourceCrossoverMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(new ResourceVo(versionVo.getAppSystemId(), versionVo.getAppModuleId(), envId)); + List instanceIdList = deployResourceMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(new ResourceVo(versionVo.getAppSystemId(), versionVo.getAppModuleId(), envId)); if (instanceIdList.size() > 0) { List deployedInstanceList = deployVersionMapper.getDeployedInstanceByVersionIdAndEnvId(versionId, envId); - List instanceList = resourceCrossoverMapper.getAppInstanceResourceListByIdListAndKeyword(instanceIdList, keyword); + List instanceList = deployResourceMapper.getAppInstanceResourceListByIdListAndKeyword(instanceIdList, keyword); for (ResourceVo ins : instanceList) { DeployVersionEnvInstanceVo vo = new DeployVersionEnvInstanceVo(ins.getId(), ins.getName(), ins.getIp()); Optional first = deployedInstanceList.stream().filter(o -> Objects.equals(o.getResourceId(), ins.getId())).findFirst(); diff --git a/src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.java b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.java new file mode 100644 index 00000000..205588a0 --- /dev/null +++ b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.java @@ -0,0 +1,37 @@ +/* + * 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.deploy.dao.mapper; + +import com.alibaba.fastjson.JSONArray; +import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface DeployResourceMapper { + + List getAppInstanceResourceListByIdList(@Param("idList") List idList); + + List getAppInstanceResourceListByIdListAndKeyword(@Param("idList") List idList, @Param("keyword") String keyword); + + List getAppSystemModuleIdListByAppSystemIdAndAppModuleIdListAndEnvId(@Param("appSystemId") Long appSystemId, @Param("envId") Long envId, @Param("appModuleIdList") JSONArray appModuleIdList); + + List getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(ResourceVo resourceVo); + + Integer getAppInstanceResourceIdCountByAppSystemIdAndModuleIdAndEnvId(ResourceVo resourceVo); +} diff --git a/src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.xml b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.xml new file mode 100644 index 00000000..15f48aad --- /dev/null +++ b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployResourceMapper.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT + a.`id`, + a.`ip`, + a.`port`, + a.`name`, + a.`type_id` + FROM @{DATA_SCHEMA}.`scence_appinstance_env_appmodule_appsystem` a + WHERE a.`id` IN + + #{id} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/AppInstanceEnvAppModuleAppSystemVo.java b/src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/AppInstanceEnvAppModuleAppSystemVo.java new file mode 100644 index 00000000..2685ba11 --- /dev/null +++ b/src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/AppInstanceEnvAppModuleAppSystemVo.java @@ -0,0 +1,82 @@ +/* + * 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.deploy.dto.resourcecenter.sceneviewfielddeclare; + +import neatlogic.framework.cmdb.annotation.ResourceField; +import neatlogic.framework.cmdb.annotation.ResourceType; +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.restful.annotation.EntityField; + +@ResourceType(name = "scence_appinstance_env_appmodule_appsystem", label = "应用实例环境和模块及应用场景", moduleId= "deploy", functionPathList = {"集成与发布模块"}) +public class AppInstanceEnvAppModuleAppSystemVo { + @EntityField(name = "ID", type = ApiParamType.LONG) + @ResourceField(name = "id") + private Long id; + + @EntityField(name = "名称", type = ApiParamType.STRING) + @ResourceField(name = "name") + private String name; + + @EntityField(name = "IP地址", type = ApiParamType.STRING) + @ResourceField(name = "ip") + private String ip; + + @EntityField(name = "端口", type = ApiParamType.INTEGER) + @ResourceField(name = "port") + private Integer port; + + @EntityField(name = "类型ID", type = ApiParamType.LONG) + @ResourceField(name = "type_id") + private Long typeId; + @EntityField(name = "类型名称", type = ApiParamType.STRING) + @ResourceField(name = "type_name") + private String typeName; + @EntityField(name = "类型Label", type = ApiParamType.STRING) + @ResourceField(name = "type_label") + private String typeLabel; + + @EntityField(name = "环境ID", type = ApiParamType.LONG) + @ResourceField(name = "env_id") + private Long envId; + @EntityField(name = "环境名称", type = ApiParamType.STRING) + @ResourceField(name = "env_name") + private String envName; + @EntityField(name = "环境序号", type = ApiParamType.INTEGER) + @ResourceField(name = "env_seq_no") + private Integer envSeqNo; + + @EntityField(name = "应用模块ID", type = ApiParamType.LONG) + @ResourceField(name = "app_module_id") + private Long appModuleId; + @EntityField(name = "应用模块名", type = ApiParamType.STRING) + @ResourceField(name = "app_module_name") + private String appModuleName; + @EntityField(name = "应用模块简称", type = ApiParamType.STRING) + @ResourceField(name = "app_module_abbr_name") + private String appModuleAbbrName; + + @EntityField(name = "应用系统ID", type = ApiParamType.LONG) + @ResourceField(name = "app_system_id") + private Long appSystemId; + @EntityField(name = "应用系统名", type = ApiParamType.STRING) + @ResourceField(name = "app_system_name") + private String appSystemName; + @EntityField(name = "应用系统简称", type = ApiParamType.STRING) + @ResourceField(name = "app_system_abbr_name") + private String appSystemAbbrName; +} diff --git a/src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/DataBaseIpPortEnvAppModuleVo.java b/src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/DataBaseIpPortEnvAppModuleVo.java new file mode 100644 index 00000000..5b34fb5c --- /dev/null +++ b/src/main/java/neatlogic/module/deploy/dto/resourcecenter/sceneviewfielddeclare/DataBaseIpPortEnvAppModuleVo.java @@ -0,0 +1,70 @@ +/*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.deploy.dto.resourcecenter.sceneviewfielddeclare; + +import neatlogic.framework.cmdb.annotation.ResourceField; +import neatlogic.framework.cmdb.annotation.ResourceType; +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.restful.annotation.EntityField; + +@ResourceType(name = "scence_database_ip_port_env_appmodule", label = "DB库IP端口环境和模块场景", moduleId= "deploy", functionPathList = {"查询发布应用配置DB库下的无模块无环境、无模块同环境、同模块无环境、同模块同环境的数据库接口/deploy/app/config/env/database/search"}) +public class DataBaseIpPortEnvAppModuleVo { + @EntityField(name = "ID", type = ApiParamType.LONG) + @ResourceField(name = "id") + private Long id; + + @EntityField(name = "名称", type = ApiParamType.STRING) + @ResourceField(name = "name") + private String name; + + @EntityField(name = "IP地址", type = ApiParamType.STRING) + @ResourceField(name = "ip") + private String ip; + + @EntityField(name = "端口", type = ApiParamType.INTEGER) + @ResourceField(name = "port") + private Integer port; + + @EntityField(name = "类型ID", type = ApiParamType.LONG) + @ResourceField(name = "type_id") + private Long typeId; + @EntityField(name = "类型名称", type = ApiParamType.STRING) + @ResourceField(name = "type_name") + private String typeName; + @EntityField(name = "类型Label", type = ApiParamType.STRING) + @ResourceField(name = "type_label") + private String typeLabel; + + @EntityField(name = "环境ID", type = ApiParamType.LONG) + @ResourceField(name = "env_id") + private Long envId; + @EntityField(name = "环境名称", type = ApiParamType.STRING) + @ResourceField(name = "env_name") + private String envName; + @EntityField(name = "环境序号", type = ApiParamType.INTEGER) + @ResourceField(name = "env_seq_no") + private Integer envSeqNo; + + @EntityField(name = "应用模块ID", type = ApiParamType.LONG) + @ResourceField(name = "app_module_id") + private Long appModuleId; + @EntityField(name = "应用模块名", type = ApiParamType.STRING) + @ResourceField(name = "app_module_name") + private String appModuleName; + @EntityField(name = "应用模块简称", type = ApiParamType.STRING) + @ResourceField(name = "app_module_abbr_name") + private String appModuleAbbrName; +} diff --git a/src/main/java/neatlogic/module/deploy/service/DeployJobServiceImpl.java b/src/main/java/neatlogic/module/deploy/service/DeployJobServiceImpl.java index 48b301b9..e9894025 100644 --- a/src/main/java/neatlogic/module/deploy/service/DeployJobServiceImpl.java +++ b/src/main/java/neatlogic/module/deploy/service/DeployJobServiceImpl.java @@ -59,6 +59,7 @@ import neatlogic.framework.scheduler.dto.JobObject; import neatlogic.framework.scheduler.exception.ScheduleHandlerNotFoundException; import neatlogic.module.deploy.dao.mapper.DeployAppConfigMapper; import neatlogic.module.deploy.dao.mapper.DeployJobMapper; +import neatlogic.module.deploy.dao.mapper.DeployResourceMapper; import neatlogic.module.deploy.dao.mapper.DeployVersionMapper; import neatlogic.module.deploy.schedule.plugin.DeployJobAutoFireJob; import org.apache.commons.collections4.CollectionUtils; @@ -86,6 +87,9 @@ public class DeployJobServiceImpl implements DeployJobService { @Resource private DeployVersionMapper deployVersionMapper; + @Resource + private DeployResourceMapper deployResourceMapper; + @Override public List searchDeployJob(DeployJobVo deployJobVo) { List returnList = new ArrayList<>(); @@ -293,14 +297,14 @@ public class DeployJobServiceImpl implements DeployJobService { } else { //如果selectNodeList 是empty,则发布全部实例 ResourceVo resourceVo = new ResourceVo(deployJobParam.getAppSystemId(), deployJobParam.getAppModuleId(), deployJobParam.getEnvId()); - int count = resourceCrossoverMapper.getAppInstanceResourceIdCountByAppSystemIdAndModuleIdAndEnvId(resourceVo); + int count = deployResourceMapper.getAppInstanceResourceIdCountByAppSystemIdAndModuleIdAndEnvId(resourceVo); if (count > 0) { int pageCount = PageUtil.getPageCount(count, resourceVo.getPageSize()); for (int i = 1; i <= pageCount; i++) { resourceVo.setCurrentPage(i); - List instanceIdList = resourceCrossoverMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(resourceVo); + List instanceIdList = deployResourceMapper.getAppInstanceResourceIdListByAppSystemIdAndModuleIdAndEnvId(resourceVo); if (CollectionUtils.isNotEmpty(instanceIdList)) { - List instanceList = resourceCrossoverMapper.getAppInstanceResourceListByIdList(instanceIdList); + List instanceList = deployResourceMapper.getAppInstanceResourceListByIdList(instanceIdList); for (ResourceVo instance : instanceList) { AutoexecNodeVo autoexecNodeVo = new AutoexecNodeVo(instance); moduleVo.getSelectNodeList().add(autoexecNodeVo); -- Gitee From 3083af30396f2c6b883a88e147722ed2196da3b4 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 2 Apr 2025 12:00:29 +0800 Subject: [PATCH 2/2] =?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 --- .../dao/mapper/DeployAppConfigMapper.xml | 39 ------------------- 1 file changed, 39 deletions(-) diff --git a/src/main/java/neatlogic/module/deploy/dao/mapper/DeployAppConfigMapper.xml b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployAppConfigMapper.xml index ff298cd5..daeca48b 100644 --- a/src/main/java/neatlogic/module/deploy/dao/mapper/DeployAppConfigMapper.xml +++ b/src/main/java/neatlogic/module/deploy/dao/mapper/DeployAppConfigMapper.xml @@ -1304,27 +1304,6 @@ along with this program. If not, see .--> and `env_id` = #{envId} - - - -