交换机收益图形分析、服务器注册优化

This commit is contained in:
gaoyutao
2025-10-28 18:51:08 +08:00
parent 46bf4c4114
commit 8c439013e1
48 changed files with 1037 additions and 106 deletions
@@ -1,6 +1,7 @@
package com.ruoyi.system.controller;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
@@ -10,6 +11,7 @@ import com.ruoyi.common.core.web.page.PageDomain;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.system.domain.EpsInitialTrafficData;
import com.ruoyi.system.domain.EpsNodeBandwidth;
@@ -316,4 +318,15 @@ public class EpsNodeBandwidthController extends BaseController
List<Map> list = epsNodeBandwidthService.graphicalAnalysis(epsNodeBandwidth, "7", ChronoUnit.MONTHS);
return success(list);
}
/**
* 查询节点带宽信息列表
*/
@PostMapping("/getEpsNodeBandWidthList")
@InnerAuth
public R<List<EpsNodeBandwidth>> getEpsNodeBandWidthList(@RequestBody EpsNodeBandwidth epsNodeBandwidth)
{
List<EpsNodeBandwidth> list = epsNodeBandwidthService.selectEpsNodeBandwidthList(epsNodeBandwidth);
return R.ok(list);
}
}
@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 交换机监控信息Controller
@@ -105,4 +106,24 @@ public class InitialSwitchInfoDetailsController extends BaseController
{
return initialSwitchInfoDetailsService.autoSaveSwitchTraffic(initialSwitchInfoDetails);
}
/**
* 图形分析-95带宽值mbps/日 v1.1
*/
@RequiresPermissions("system:bandwidth:list")
@PostMapping("/getGraphicalAnalysisDaily")
public AjaxResult getGraphicalAnalysisDaily(@RequestBody InitialSwitchInfoDetails initialSwitchInfoDetails)
{
List<Map<String, Object>> echartsData = initialSwitchInfoDetailsService.getGraphicalAnalysisDaily(initialSwitchInfoDetails);
return success(echartsData);
}
/**
* 图形分析-95带宽值mbps/月 v1.1
*/
@RequiresPermissions("system:bandwidth:list")
@PostMapping("/getGraphicalAnalysisMonthy")
public AjaxResult getGraphicalAnalysisMonthy(@RequestBody InitialSwitchInfoDetails initialSwitchInfoDetails)
{
List<Map<String, Object>> echartsData = initialSwitchInfoDetailsService.getGraphicalAnalysisMonthy(initialSwitchInfoDetails);
return success(echartsData);
}
}
@@ -212,5 +212,16 @@ public class RmResourceRegistrationController extends BaseController
int rows = rmResourceRegistrationService.bindBusinessPublicIp(rmResourceRegistration);
return toAjax(rows);
}
/**
* 查询所有逻辑标识节点
* @return 资源注册集合
*/
@RequiresPermissions("system:group:list")
@GetMapping("/getAllLogicalNodeId")
public List<Map> getAllLogicalNodeId()
{
List<Map> list = rmResourceRegistrationService.getAllLogicalNodeId();
return list;
}
}
@@ -143,4 +143,5 @@ public class EpsNodeBandwidth extends BaseEntity
/** 客户端id */
private String clientId;
}
@@ -110,4 +110,6 @@ public class InitialSwitchInfoDetails extends BaseEntity
private String ifOutErrors;
/** 端口索引 */
private String ifIndex;
/** 计算方式 */
public String calculationMode;
}
@@ -281,6 +281,8 @@ public class RmResourceRegistration extends BaseEntity
@Excel(name = "管理网-IPv4地址")
private String mgmtIpv4Address; // 管理网-IPv4地址
@Excel(name = "管理网-网关")
private String mgmtGateway; // 管理网-IPv4地址
/** 多条件查询 */
private String queryParam;
@@ -93,4 +93,10 @@ public interface RmResourceRegistrationMapper
* @return
*/
RmResourceRegistration selectRegistMsgByClientId(RmResourceRegistration rmResourceRegistration);
/**
* 获取所有逻辑节点标识
* @return
*/
List<Map> getAllLogicalNodeId();
}
@@ -6,6 +6,7 @@ import com.ruoyi.system.domain.InitialSwitchInfoDetails;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 交换机监控信息Service接口
@@ -94,4 +95,18 @@ public interface IInitialSwitchInfoDetailsService
* @return
*/
BigDecimal sumTrafficBySwitch();
/**
* 图形分析-95带宽值mbps/日 v1.1
* @param initialSwitchInfoDetails
* @return
*/
List<Map<String, Object>> getGraphicalAnalysisDaily(InitialSwitchInfoDetails initialSwitchInfoDetails);
/**
* 图形分析-95带宽值mbps/月 v1.1
* @param initialSwitchInfoDetails
* @return
*/
List<Map<String, Object>> getGraphicalAnalysisMonthy(InitialSwitchInfoDetails initialSwitchInfoDetails);
}
@@ -113,4 +113,10 @@ public interface IRmResourceRegistrationService
* @return
*/
int bindBusinessPublicIp(RmResourceRegistration rmResourceRegistration);
/**
* 查询所有逻辑节点标识
* @return
*/
List<Map> getAllLogicalNodeId();
}
@@ -4,12 +4,13 @@ import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.enums.ReviewEnum;
import com.ruoyi.system.api.RemoteRocketMqService;
import com.ruoyi.system.api.domain.RmDeployScriptRemote;
import com.ruoyi.system.api.domain.RmNetworkInterfaceRemote;
import com.ruoyi.system.domain.EpsBusinessDeploy;
import com.ruoyi.system.domain.EpsMethodChangeRecord;
import com.ruoyi.system.domain.RmResourceRegistration;
import com.ruoyi.system.enums.ReviewEnum;
import com.ruoyi.system.mapper.EpsBusinessDeployMapper;
import com.ruoyi.system.mapper.EpsMethodChangeRecordMapper;
import com.ruoyi.system.mapper.RmResourceRegistrationMapper;
@@ -165,6 +166,16 @@ public class EpsBusinessDeployServiceImpl implements IEpsBusinessDeployService
String businessCode = businessMsg.getBusinessCode();
String businessName = businessMsg.getBusinessName();
String clientIdStr = businessMsg.getDeployDevice();
// 添加服务器脚本执行策略
RmDeployScriptRemote addData = new RmDeployScriptRemote();
addData.setDeployDevice(clientIdStr);
addData.setPolicyStatus("0");
addData.setTaskName(businessMsg.getTaskName());
addData.setScriptName(businessMsg.getScriptName());
addData.setScriptPath(businessMsg.getScriptPath());
addData.setDefaultParams(businessMsg.getScriptParams());
addData.setPolicyName("策略"+ DateUtils.dateTimeNow());
remoteRocketMqService.addDeployScript(addData, SecurityConstants.INNER);
String[] clientIds = clientIdStr.split("\n");
// 保存业务修改记录
for (String clientId : clientIds) {
@@ -4,8 +4,9 @@ import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.web.page.PageDomain;
import com.ruoyi.system.domain.EpsInitialTrafficData;
import com.ruoyi.system.domain.EpsMethodChangeRecord;
import com.ruoyi.system.domain.EpsNodeBandwidth;
import com.ruoyi.system.domain.EpsServerRevenueConfig;
import com.ruoyi.system.mapper.EpsMethodChangeRecordMapper;
import com.ruoyi.system.mapper.EpsNodeBandwidthMapper;
import com.ruoyi.system.mapper.EpsServerRevenueConfigMapper;
import com.ruoyi.system.service.EpsInitialTrafficDataService;
@@ -43,6 +44,8 @@ public class EpsNodeBandwidthServiceImpl implements IEpsNodeBandwidthService
private EpsInitialTrafficDataService epsInitialTrafficDataService;
@Autowired
private EpsServerRevenueConfigMapper epsServerRevenueConfigMapper;
@Autowired
private EpsMethodChangeRecordMapper epsMethodChangeRecordMapper;
/**
* 查询节点带宽信息
@@ -178,7 +181,15 @@ public class EpsNodeBandwidthServiceImpl implements IEpsNodeBandwidthService
log.warn("参数为空,无法计算月均日95值");
return 0;
}
EpsMethodChangeRecord query = new EpsMethodChangeRecord();
query.setClientId(epsNodeBandwidth.getClientId());
query.setTrafficPort(epsNodeBandwidth.getInterfaceName());
query.setBusinessName(epsNodeBandwidth.getBusinessName());
query.setBusinessCode(epsNodeBandwidth.getBusinessId());
List<EpsMethodChangeRecord> records = epsMethodChangeRecordMapper.selectEpsMethodChangeRecordList(query);
if(!records.isEmpty()){
}
// 3. 获取计算数据(防止空指针)
EpsNodeBandwidth calculatedData = epsNodeBandwidthMapper.calculateAvg(epsNodeBandwidth);
if (calculatedData == null) {
@@ -212,70 +223,28 @@ public class EpsNodeBandwidthServiceImpl implements IEpsNodeBandwidthService
return 0;
}
// 6. 检查业务变动
boolean hasBusinessChange = false;
if (epsNodeBandwidth.getHardwareSn() != null) {
EpsServerRevenueConfig revenueConfig = new EpsServerRevenueConfig();
revenueConfig.setHardwareSn(epsNodeBandwidth.getHardwareSn());
List<EpsServerRevenueConfig> changedList = epsServerRevenueConfigMapper.selectEpsServerRevenueConfigList(revenueConfig);
if (!changedList.isEmpty() && changedList.size() == 1) {
EpsServerRevenueConfig epsServerRevenueConfig = changedList.get(0);
if (epsServerRevenueConfig.getUpdateTime() != null &&
epsNodeBandwidth.getStartTime() != null &&
"1".equals(epsServerRevenueConfig.getChanged())) {
String configTime = DateUtils.parseDateToStr("yyyy-MM", epsServerRevenueConfig.getUpdateTime());
hasBusinessChange = epsNodeBandwidth.getStartTime().equals(configTime);
}
}
}
// 7. 计算平均值
if (hasBusinessChange) {
epsNodeBandwidth.setBandwidthType("7");
// 2. 验证是否已经存在记录
List<EpsNodeBandwidth> existingRecords = epsNodeBandwidthMapper.selectEpsNodeBandwidthList(epsNodeBandwidth);
if(!existingRecords.isEmpty()){
epsNodeBandwidth.setId(existingRecords.get(0).getId());
epsNodeBandwidth.setUpdateTime(DateUtils.getNowDate());
epsNodeBandwidth.setBandwidthType("4");
// 2. 验证是否已经存在记录
List<EpsNodeBandwidth> existingRecords = epsNodeBandwidthMapper.selectEpsNodeBandwidthList(epsNodeBandwidth);
if(!existingRecords.isEmpty()){
epsNodeBandwidth.setId(existingRecords.get(0).getId());
epsNodeBandwidth.setUpdateTime(DateUtils.getNowDate());
}else{
if(epsNodeBandwidth.getStartTime() == null){
epsNodeBandwidth.setCreateTime(DateUtils.parseDate(monthTime));
}else{
if(epsNodeBandwidth.getStartTime() == null){
epsNodeBandwidth.setCreateTime(DateUtils.parseDate(monthTime));
}else{
epsNodeBandwidth.setCreateTime(DateUtils.parseDate(epsNodeBandwidth.getStartTime()));
}
epsNodeBandwidth.setCreateTime(DateUtils.parseDate(epsNodeBandwidth.getStartTime()));
}
// 有效-月均日95值
BigDecimal effectiveAvg = sumEffectiveBandwidth95Daily.divide(BigDecimal.valueOf(daysInMonth), 2, RoundingMode.HALF_UP);
epsNodeBandwidth.setEffectiveAvgMonthlyBandwidth95(effectiveAvg);
epsNodeBandwidth.setBandwidthResult(effectiveAvg);
// 8. 执行插入或更新操作
return existingRecords.isEmpty() ?
epsNodeBandwidthMapper.insertEpsNodeBandwidth(epsNodeBandwidth) :
epsNodeBandwidthMapper.updateEpsNodeBandwidth(epsNodeBandwidth);
} else {
epsNodeBandwidth.setBandwidthType("4");
// 2. 验证是否已经存在记录
List<EpsNodeBandwidth> existingRecords = epsNodeBandwidthMapper.selectEpsNodeBandwidthList(epsNodeBandwidth);
if(!existingRecords.isEmpty()){
epsNodeBandwidth.setId(existingRecords.get(0).getId());
epsNodeBandwidth.setUpdateTime(DateUtils.getNowDate());
}else{
if(epsNodeBandwidth.getStartTime() == null){
epsNodeBandwidth.setCreateTime(DateUtils.parseDate(monthTime));
}else{
epsNodeBandwidth.setCreateTime(DateUtils.parseDate(epsNodeBandwidth.getStartTime()));
}
}
// 月均日95值
BigDecimal avgMonthly = sum95Daily.divide(BigDecimal.valueOf(daysInMonth), 2, RoundingMode.HALF_UP);
epsNodeBandwidth.setAvgMonthlyBandwidth95(avgMonthly);
epsNodeBandwidth.setBandwidthResult(avgMonthly);
// 8. 执行插入或更新操作
return existingRecords.isEmpty() ?
epsNodeBandwidthMapper.insertEpsNodeBandwidth(epsNodeBandwidth) :
epsNodeBandwidthMapper.updateEpsNodeBandwidth(epsNodeBandwidth);
}
// 月均日95值
BigDecimal avgMonthly = sum95Daily.divide(BigDecimal.valueOf(daysInMonth), 2, RoundingMode.HALF_UP);
epsNodeBandwidth.setAvgMonthlyBandwidth95(avgMonthly);
epsNodeBandwidth.setBandwidthResult(avgMonthly);
// 8. 执行插入或更新操作
return existingRecords.isEmpty() ?
epsNodeBandwidthMapper.insertEpsNodeBandwidth(epsNodeBandwidth) :
epsNodeBandwidthMapper.updateEpsNodeBandwidth(epsNodeBandwidth);
} catch (Exception e) {
log.error("计算月均日95值失败", e);
@@ -2,12 +2,15 @@ package com.ruoyi.system.service.impl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.EchartsDataUtils;
import com.ruoyi.common.core.utils.SpeedUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.IInitialSwitchInfoDetailsService;
import com.ruoyi.system.util.CalculateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
@@ -16,11 +19,12 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -694,4 +698,123 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
epsNodeBandwidthMapper.insertEpsNodeBandwidth(bandwidth);
}
}
/**
* 图形分析 - 日95
* @param initialSwitchInfoDetails
* @return
*/
@Override
public List<Map<String, Object>> getGraphicalAnalysisDaily(InitialSwitchInfoDetails initialSwitchInfoDetails) {
// 拿到时间范围
String startTime = initialSwitchInfoDetails.getStartTime();
String endTime = initialSwitchInfoDetails.getEndTime();
List<Map<String, Object>> resultList = new ArrayList<>();
// 2. 解析日期范围
LocalDate startDate = LocalDate.parse(startTime);
LocalDate endDate = LocalDate.parse(endTime);
// 3. 循环处理每一天
for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) {
// 构造当天的开始和结束时间(精确到秒)
String dayStart = date.atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String dayEnd = date.atTime(23, 59, 59).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// 创建当天的查询条件
InitialSwitchInfoDetails dailyQuery = new InitialSwitchInfoDetails();
BeanUtils.copyProperties(initialSwitchInfoDetails, dailyQuery); // 复制原有属性
dailyQuery.setStartTime(dayStart);
dailyQuery.setEndTime(dayEnd);
try {
Map<String, Object> resultMap = switchNetSpeedEcharts(dailyQuery);
// 查询95值
EpsNodeBandwidth query = new EpsNodeBandwidth();
query.setBandwidthType("1");
query.setCreateTime(DateUtils.parseDate(date));
query.setCalculationMode(initialSwitchInfoDetails.getCalculationMode());
query.setClientId(initialSwitchInfoDetails.getClientId());
List<EpsNodeBandwidth> epsNodeBandwidthList = epsNodeBandwidthMapper.selectEpsNodeBandwidthList(query);
if(!epsNodeBandwidthList.isEmpty()){
EpsNodeBandwidth nodeBandwidth = epsNodeBandwidthList.get(0);
resultMap.put("95value", nodeBandwidth.getBandwidthResult());
}
resultList.add(resultMap);
} catch (Exception e){
e.printStackTrace();
}
}
return resultList.isEmpty() ? new ArrayList<>() : resultList;
}
/**
* 图形分析 - 月95
* @param initialSwitchInfoDetails
* @return
*/
@Override
public List<Map<String, Object>> getGraphicalAnalysisMonthy(InitialSwitchInfoDetails initialSwitchInfoDetails) {
// 拿到时间范围
String startTime = initialSwitchInfoDetails.getStartTime();
String endTime = initialSwitchInfoDetails.getEndTime();
List<Map<String, Object>> resultList = new ArrayList<>();
// 2. 解析月份范围
YearMonth start = YearMonth.parse(startTime);
YearMonth end = YearMonth.parse(endTime);
// 3. 循环处理每个月
for (YearMonth month = start; !month.isAfter(end); month = month.plusMonths(1)) {
// 获取当月的第一天和最后一天(精确到秒)
String monthStart = month.atDay(1).atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String monthEnd = month.atEndOfMonth().atTime(23, 59, 59)
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// 创建当天的查询条件
InitialSwitchInfoDetails dailyQuery = new InitialSwitchInfoDetails();
BeanUtils.copyProperties(initialSwitchInfoDetails, dailyQuery); // 复制原有属性
dailyQuery.setStartTime(monthStart);
dailyQuery.setEndTime(monthStart);
try {
Map<String, Object> resultMap = switchNetSpeedEcharts(dailyQuery);
// 查询95值
EpsNodeBandwidth query = new EpsNodeBandwidth();
query.setBandwidthType("1");
query.setCreateTime(DateUtils.parseDate(monthStart));
query.setCalculationMode(initialSwitchInfoDetails.getCalculationMode());
query.setClientId(initialSwitchInfoDetails.getClientId());
List<EpsNodeBandwidth> epsNodeBandwidthList = epsNodeBandwidthMapper.selectEpsNodeBandwidthList(query);
if(!epsNodeBandwidthList.isEmpty()){
EpsNodeBandwidth nodeBandwidth = epsNodeBandwidthList.get(0);
resultMap.put("95value", nodeBandwidth.getBandwidthResult());
}
resultList.add(resultMap);
} catch (Exception e){
e.printStackTrace();
}
}
return resultList.isEmpty() ? new ArrayList<>() : resultList;
}
/**
* 获取交换机网口网络速率
* @param initialSwitchInfoDetails
* @return
*/
public Map<String, Object> switchNetSpeedEcharts(InitialSwitchInfoDetails initialSwitchInfoDetails) {
List<InitialSwitchInfoDetails> list = initialSwitchInfoDetailsMapper.selectInitialSwitchInfoDetailsList(initialSwitchInfoDetails);
try {
SpeedUtils.SpeedResult result = SpeedUtils.calculateWithAverageBasedUnit(list, "inSpeed", "outSpeed");
BigDecimal divisor = SpeedUtils.getDivisor(result.getRecommendedUnit());
Map<String, Function<InitialSwitchInfoDetails, ?>> extractors = new LinkedHashMap<>();
extractors.put("netInSpeedData", info ->
info != null && info.getInSpeed() != null ?
info.getInSpeed().divide(divisor, 0, RoundingMode.HALF_UP) :
0);
extractors.put("netOutSpeedData", info ->
info != null && info.getOutSpeed() != null ?
info.getOutSpeed().divide(divisor, 0, RoundingMode.HALF_UP) :
0);
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsData(list, InitialSwitchInfoDetails::getCreateTime, extractors);
resultMap.put("other", result);
return resultMap;
} catch (Exception e){
e.printStackTrace();
}
return new HashMap<>();
}
}
@@ -119,6 +119,7 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio
// 根据clientId查询网卡信息
RmNetworkInterfaceRemote queryParam = new RmNetworkInterfaceRemote();
queryParam.setClientId(clientId);
queryParam.setNewFlag(1);
// 安全获取网络接口列表
R<List<RmNetworkInterfaceRemote>> result = remoteRocketMqService.getNetworkInterfaceList(queryParam, SecurityConstants.INNER);
// 多层安全判断
@@ -137,7 +138,7 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio
int businessIpCount = 1;
for (RmNetworkInterfaceRemote network : networkList) {
if ("1".equals(network.getBindIp())) {
if ("1".equals(network.getBindIp()) || "3".equals(network.getBindIp())) {
// 业务IP处理
if (businessIpCount > 3) {
continue; // 最多只处理3个业务IP
@@ -181,7 +182,8 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio
}
businessIpCount++;
} else if ("2".equals(network.getBindIp())) {
}
if ("2".equals(network.getBindIp()) || "3".equals(network.getBindIp())) {
// 管理网IP处理
registration.setMgmtIsp(network.getIsp());
registration.setMgmtProvince(network.getProvince());
@@ -191,6 +193,7 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio
registration.setMgmtMacAddress(network.getMacAddress());
registration.setMgmtInterfaceType(network.getInterfaceType());
registration.setMgmtIpv4Address(network.getIpv4Address());
registration.setMgmtGateway(network.getGateway());
}
}
// 设置金山machineCode
@@ -549,6 +552,8 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio
insertData.setMultiPublicIpStatus("0");
insertData.setResourceType("1");
insertData.setCreateTime(createTime);
insertData.setHeartbeatCount(3);
insertData.setHeartbeatInterval(30);
rmResourceRegistrationMapper.insertRmResourceRegistration(insertData);
}
}catch (Exception e){
@@ -665,5 +670,14 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio
return 1;
}
/**
* 查询所有逻辑节点标识
* @return
*/
@Override
public List<Map> getAllLogicalNodeId() {
return rmResourceRegistrationMapper.getAllLogicalNodeId();
}
}
@@ -339,6 +339,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="creatorName != null">creator_name = #{creatorName},</if>
<if test="updaterId != null">updater_id = #{updaterId},</if>
<if test="updaterName != null">updater_name = #{updaterName},</if>
<if test="clientId != null">client_id = #{clientId},</if>
<if test="operator != null">operator = #{operator},</if>
<if test="province != null">province = #{province},</if>
<if test="publicIp != null">public_ip = #{publicIp},</if>
<if test="businessName != null">business_name = #{businessName},</if>
<if test="logicalNodeId != null">logical_node_id = #{logicalNodeId},</if>
<if test="multiPublicIpStatus != null">multi_public_ip_status = #{multiPublicIpStatus},</if>
<if test="heartbeatCount != null">heartbeat_count = #{heartbeatCount},</if>
<if test="heartbeatInterval != null">heartbeat_interval = #{heartbeatInterval},</if>
<if test="onboardTime != null">onboard_time = #{onboardTime},</if>
</trim>
<where>
@@ -370,4 +379,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
order by create_time desc
</select>
<select id="getAllLogicalNodeId" parameterType="RmResourceRegistration" resultType="java.util.Map">
select logical_node_id logicalNodeId from rm_resource_registration where logical_node_id != ''
group by logical_node_id
</select>
</mapper>