diff --git a/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsMonitorController.java b/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsMonitorController.java index 48af6b5ac1c3c2a6b6f8962121a22a04e4891834..f6cdc0e89add968fa041f186aec0ca6440ea87a1 100644 --- a/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsMonitorController.java +++ b/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsMonitorController.java @@ -10,10 +10,13 @@ import com.tongtech.console.service.NodeStatService; import com.tongtech.console.service.ServiceStatService; import com.tongtech.console.domain.vo.RdsMonitorQueryVo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** @@ -50,11 +53,17 @@ public class RdsMonitorController extends BaseController List serviceStats = servStatService.selectServiceStatList(param); List result = new ArrayList<>(serviceStats.size()); + List nodeStatsList = nodeStatService.selectNodeStatList(new NodeStat(srcId)); + Map> nodeStatsMap = nodeStatsList.stream() + .collect(Collectors.groupingBy(e -> e.getServiceId())); + for(ServiceStat servStat : serviceStats) { - List nodes = nodeStatService.selectNodeStatList(new NodeStat(srcId, servStat.getServiceId())); + List nodes = nodeStatsMap.get(servStat.getServiceId()); //System.out.println("~~~~nodes:" + nodes); ServiceStatVo vo = new ServiceStatVo(servStat); - vo.setChildren(nodes); + if(!CollectionUtils.isEmpty(nodes)){ + vo.setChildren(nodes); + } // 进行状态条件的筛选 if( param.getStatus() != null ) { if(param.getStatus().equals(vo.getStatus()) ) { diff --git a/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsServiceController.java b/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsServiceController.java index 7b6b0d60f81159845507c1b1b9753d64b17128ef..8be0601743944c3b6505b7e54fa4ed0face04601 100644 --- a/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsServiceController.java +++ b/rds-console/console-admin/src/main/java/com/tongtech/web/controller/console/RdsServiceController.java @@ -1,11 +1,14 @@ package com.tongtech.web.controller.console; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import com.tongtech.common.utils.AESUtils; import javax.servlet.http.HttpServletResponse; import com.tongtech.common.utils.StringUtils; +import com.tongtech.console.domain.NodeStat; import com.tongtech.console.domain.RdsNode; import com.tongtech.console.domain.vo.RdsServiceNodesVo; import com.tongtech.console.domain.vo.RdsServiceQueryVo; @@ -74,10 +77,13 @@ public class RdsServiceController extends BaseController } List list = serviceService.selectListInDeployModes(queryVo); + List rdsNodesList = nodeService.selectRdsNodes(); + Map> rdsNodesMap = rdsNodesList.stream() + .collect(Collectors.groupingBy(e -> e.getServiceId())); //查询并附加节点列表 for(RdsServiceQueryVo serv : list) { - serv.setNodes(nodeService.selectRdsNodesByServiceId(serv.getServiceId())); + serv.setNodes(rdsNodesMap.get(serv.getServiceId())); if(serv.getDeployModeEnum() == DeployModeEnum.SENTINEL) { RdsServiceQueryVo countParam = new RdsServiceQueryVo(); countParam.setSentinelServiceId(serv.getServiceId()); diff --git a/rds-console/console-admin/src/main/java/com/tongtech/web/controller/system/SysConfigController.java b/rds-console/console-admin/src/main/java/com/tongtech/web/controller/system/SysConfigController.java index e008097ad1825b60767a20b36d45662b010ca9ca..36a1d0e40419f1bdf8a2796740bf563f9c8cce2c 100644 --- a/rds-console/console-admin/src/main/java/com/tongtech/web/controller/system/SysConfigController.java +++ b/rds-console/console-admin/src/main/java/com/tongtech/web/controller/system/SysConfigController.java @@ -25,6 +25,8 @@ import com.tongtech.common.utils.poi.ExcelUtil; import com.tongtech.system.domain.SysConfig; import com.tongtech.system.service.ISysConfigService; +import static com.tongtech.common.constant.Constants.*; + /** * 参数配置 信息操作处理 * @@ -85,19 +87,19 @@ public class SysConfigController extends BaseController @GetMapping(value = "/appConfigKey/{key}") public AjaxResult getAppConfigKey(@PathVariable String key) { - if("console.name".equals(key)) { + if(CONSOLE_NAME.equals(key)) { return AjaxResult.success("", UhConsoleConfig.getName()); } - else if("console.version".equals(key)) { + else if(CONSOLE_VERSION.equals(key)) { return AjaxResult.success("", UhConsoleConfig.getVersion()); } - else if("console.copyrightYear".equals(key)) { + else if(CONSOLE_COPYRIGHTYEAR.equals(key)) { return AjaxResult.success("", UhConsoleConfig.getCopyrightYear()); } - else if("console.deployEnv".equals(key)) { + else if(CONSOLE_DEPLOYENV.equals(key)) { return AjaxResult.success("", UhConsoleConfig.getDeployEnv()); } - else if("console.embedding".equals(key)) { + else if(CONSOLE_EMBEDDING.equals(key)) { return AjaxResult.success("", UhConsoleConfig.isEmbedding()); } else { diff --git a/rds-console/console-common/src/main/java/com/tongtech/common/constant/Constants.java b/rds-console/console-common/src/main/java/com/tongtech/common/constant/Constants.java index b29580056f6001cff03024f3b003e7776c12c760..3ccc9fa45e53c0f6313d897b824ef7649f345e14 100644 --- a/rds-console/console-common/src/main/java/com/tongtech/common/constant/Constants.java +++ b/rds-console/console-common/src/main/java/com/tongtech/common/constant/Constants.java @@ -139,4 +139,15 @@ public class Constants */ public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", "org.springframework", "org.apache", "com.tongtech.common.utils.file" }; + + + /** + * application.yml中定义 + */ + public static final String CONSOLE_NAME = "console.name"; + public static final String CONSOLE_VERSION = "console.version"; + public static final String CONSOLE_COPYRIGHTYEAR = "console.copyrightYear"; + public static final String CONSOLE_DEPLOYENV = "console.deployEnv"; + public static final String CONSOLE_EMBEDDING = "console.embedding"; + } diff --git a/rds-console/console-release/resources/tongtech/apphome/data/db/consoledb.mv.db b/rds-console/console-release/resources/tongtech/apphome/data/db/consoledb.mv.db index f79d07884d3241df2182384d6552b93bad9a7321..58a0e65ae84578478555af5fdc467ecd37ecc051 100644 Binary files a/rds-console/console-release/resources/tongtech/apphome/data/db/consoledb.mv.db and b/rds-console/console-release/resources/tongtech/apphome/data/db/consoledb.mv.db differ diff --git a/rds-console/console-system/src/main/java/com/tongtech/console/domain/NodeStat.java b/rds-console/console-system/src/main/java/com/tongtech/console/domain/NodeStat.java index 2636e51069839ad54663d80f88557fffa2fa3604..a4b43615f1b8da4aaae16f47ae221281e013fc65 100644 --- a/rds-console/console-system/src/main/java/com/tongtech/console/domain/NodeStat.java +++ b/rds-console/console-system/src/main/java/com/tongtech/console/domain/NodeStat.java @@ -81,6 +81,10 @@ public class NodeStat extends BaseEntity } + public NodeStat(Long srcId) { + this.srcId = srcId; + } + public NodeStat(Long srcId, Long serviceId) { this.srcId = srcId; this.serviceId = serviceId; diff --git a/rds-console/console-system/src/main/java/com/tongtech/console/mapper/RdsNodeMapper.java b/rds-console/console-system/src/main/java/com/tongtech/console/mapper/RdsNodeMapper.java index 1dd8c2501760c427afc57ade8c30ba75dc052c8f..192920b5663463a1cdd9f35575fd29dd43e01946 100644 --- a/rds-console/console-system/src/main/java/com/tongtech/console/mapper/RdsNodeMapper.java +++ b/rds-console/console-system/src/main/java/com/tongtech/console/mapper/RdsNodeMapper.java @@ -139,4 +139,5 @@ public interface RdsNodeMapper public int updateExpiredNodeStatus(String[] runningInstances); + List selectRdsNodes(); } diff --git a/rds-console/console-system/src/main/java/com/tongtech/console/service/RdsNodeService.java b/rds-console/console-system/src/main/java/com/tongtech/console/service/RdsNodeService.java index 0cd39a45b4af2e4f2802773351fdeb769c54485f..563fa13575560bace50c4f8635d663c82be23f25 100644 --- a/rds-console/console-system/src/main/java/com/tongtech/console/service/RdsNodeService.java +++ b/rds-console/console-system/src/main/java/com/tongtech/console/service/RdsNodeService.java @@ -123,4 +123,6 @@ public interface RdsNodeService public int updateExpiredNodeStatus(Set runningNodes); + + List selectRdsNodes(); } diff --git a/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/RdsNodeServiceImpl.java b/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/RdsNodeServiceImpl.java index 17b4a720be4943f32ea432cd15590f7299880a39..93b474cd708bde2173bd3b599fd77052a454b2a3 100644 --- a/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/RdsNodeServiceImpl.java +++ b/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/RdsNodeServiceImpl.java @@ -226,4 +226,9 @@ public class RdsNodeServiceImpl implements RdsNodeService return rdsNodeMapper.updateExpiredNodeStatus(instances); } + @Override + public List selectRdsNodes() { + return rdsNodeMapper.selectRdsNodes(); + } + } diff --git a/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/ServiceStatServiceImpl.java b/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/ServiceStatServiceImpl.java index 8e05e7e0b805e3b46b95a9551c709364bf7e3038..96fd720c782bcdfec7cacdb894039734f303fd26 100644 --- a/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/ServiceStatServiceImpl.java +++ b/rds-console/console-system/src/main/java/com/tongtech/console/service/impl/ServiceStatServiceImpl.java @@ -59,8 +59,8 @@ public class ServiceStatServiceImpl implements ServiceStatService @Override public ServiceStatVo selectSummaryServiceStat(RdsMonitorQueryVo queryVo) { - - RdsService serv = servMapper.selectRdsServiceByServiceId(queryVo.getServiceId()); + Long serviceId = queryVo.getServiceId(); + RdsService serv = servMapper.selectRdsServiceByServiceId(serviceId); ServiceStat servStat = serviceStatMapper.selectSummaryServiceStat(queryVo); ServiceStatVo servStatVo; if(servStat != null) { @@ -71,10 +71,9 @@ public class ServiceStatServiceImpl implements ServiceStatService else { servStatVo = new ServiceStatVo(serv); } - //获得node列表 List nodes = new ArrayList<>(); - List rdsNodes = nodeMapper.selectNodesByServiceId(serv.getServiceId()); + List rdsNodes = nodeMapper.selectNodesByServiceId(serviceId); for(RdsNode rn : rdsNodes) { RdsNodeStatsVo nodeVo = new RdsNodeStatsVo(rn); @@ -91,11 +90,7 @@ public class ServiceStatServiceImpl implements ServiceStatService nodes.add(nodeVo);// 插入node } - - - servStatVo.setNodes(nodes); - return servStatVo; } diff --git a/rds-console/console-system/src/main/resources/mapper/console/RdsNodeMapper.xml b/rds-console/console-system/src/main/resources/mapper/console/RdsNodeMapper.xml index b8c41350e0a7600c73d8e602cc878a29c26e80e1..967b568d1f31ecb1d23ef7d308b389d9b478b50b 100644 --- a/rds-console/console-system/src/main/resources/mapper/console/RdsNodeMapper.xml +++ b/rds-console/console-system/src/main/resources/mapper/console/RdsNodeMapper.xml @@ -99,6 +99,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where n.manager_id = #{managerId} and n.node_name = #{nodeName} + + insert into cnsl_rds_node