交换机收益图形分析、服务器注册优化
This commit is contained in:
+12
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.rocketmq.controller;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
@@ -7,6 +8,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.rocketmq.domain.RmDeploymentPolicy;
|
||||
import com.ruoyi.rocketmq.service.IRmDeploymentPolicyService;
|
||||
@@ -109,4 +111,14 @@ public class RmDeploymentPolicyController extends BaseController
|
||||
{
|
||||
return success(rmDeploymentPolicyService.issueDeploymentPolicy(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增服务器脚本策略
|
||||
*/
|
||||
@InnerAuth
|
||||
@PostMapping("/addDeployScript")
|
||||
public R<Integer> addDeployScript(@RequestBody RmDeploymentPolicy rmDeploymentPolicy)
|
||||
{
|
||||
return R.ok(rmDeploymentPolicyService.insertRmDeploymentPolicy(rmDeploymentPolicy));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,8 @@ public class InitialSwitchInfo extends BaseEntity
|
||||
private String startTime;
|
||||
|
||||
private String endTime;
|
||||
/** 计算方式 */
|
||||
private String calculationMode;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -90,6 +90,8 @@ public class RmDeploymentPolicy extends BaseEntity
|
||||
private String scriptPath;
|
||||
/** 业务脚本参数 */
|
||||
private String defaultParams;
|
||||
/** 业务下发名称 */
|
||||
private String taskName;
|
||||
/** 不在线数量 */
|
||||
private Integer offlineNum;
|
||||
/** 执行成功数量 */
|
||||
|
||||
@@ -105,6 +105,213 @@ public class MessageHandler {
|
||||
registerHandler(MsgEnum.挂载上报.getValue(), this::handleMountPointMessage);
|
||||
registerHandler(MsgEnum.系统其他上报.getValue(), this::handleOtherSystemMessage);
|
||||
registerHandler(MsgEnum.心跳上报.getValue(), this::handleHeartbeatMessage);
|
||||
registerHandler(MsgEnum.多公网IP探测.getValue(), this::handleNetWorkDelectMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存网卡信息
|
||||
* @param message
|
||||
*/
|
||||
private void handleNetWorkDelectMessage(DeviceMessage message) {
|
||||
List<RegisterMsgVo> interfaces = JsonDataParser.parseJsonData(message.getData(), RegisterMsgVo.class);
|
||||
if(!interfaces.isEmpty()) {
|
||||
RegisterMsgVo registerMsg = interfaces.get(0);
|
||||
// 时间戳转换
|
||||
long timestamp = registerMsg.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
List<NetworkInfo> networkInfoList = registerMsg.getNetworkInfo();
|
||||
if(!networkInfoList.isEmpty()){
|
||||
if(networkInfoList.size()==1){
|
||||
NetworkInfo networkInfo = networkInfoList.get(0);
|
||||
// 查询该网卡信息是否存在
|
||||
RmNetworkInterface queryParam = new RmNetworkInterface();
|
||||
queryParam.setMacAddress(networkInfo.getMac());
|
||||
queryParam.setNewFlag(1);
|
||||
List<RmNetworkInterface> exits = rmNetworkInterfaceService.selectRmNetworkInterfaceList(queryParam);
|
||||
if(exits.isEmpty()){
|
||||
// 保存网卡信息
|
||||
RmNetworkInterface insertData = new RmNetworkInterface();
|
||||
// 业务ip和管理网ip
|
||||
insertData.setBindIp("3");
|
||||
insertData.setClientId(registerMsg.getClientId());
|
||||
insertData.setIsp(networkInfo.getCarrier());
|
||||
insertData.setCity(networkInfo.getCity());
|
||||
insertData.setGateway(networkInfo.getGateway());
|
||||
insertData.setInterfaceName(networkInfo.getName());
|
||||
insertData.setIpv4Address(networkInfo.getIpv4());
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
insertData.setCreateTime(createTime);
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else{
|
||||
RmNetworkInterface oldInterfaceMsg = exits.get(0);
|
||||
if(!StringUtils.equals(networkInfo.getName(),oldInterfaceMsg.getInterfaceName())
|
||||
|| !StringUtils.equals(networkInfo.getGateway(),oldInterfaceMsg.getGateway())){
|
||||
// 查询该网卡信息是否旧数据
|
||||
RmNetworkInterface query = new RmNetworkInterface();
|
||||
query.setMacAddress(networkInfo.getMac());
|
||||
query.setNewFlag(999);
|
||||
List<RmNetworkInterface> oldExits = rmNetworkInterfaceService.selectRmNetworkInterfaceList(queryParam);
|
||||
if(!oldExits.isEmpty()){
|
||||
// 先删除旧数据
|
||||
oldExits.forEach(oldMsg ->{
|
||||
rmNetworkInterfaceService.deleteRmNetworkInterfaceById(oldMsg.getId());
|
||||
});
|
||||
}
|
||||
// 先将已存在的改为旧数据
|
||||
RmNetworkInterface oldData = new RmNetworkInterface();
|
||||
oldData.setNewFlag(0);
|
||||
oldData.setMacAddress(networkInfo.getMac());
|
||||
rmNetworkInterfaceService.updateRmNetworkInterfaceByMac(oldData);
|
||||
RmNetworkInterface insertData = new RmNetworkInterface();
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setIsp(networkInfo.getCarrier());
|
||||
insertData.setCity(networkInfo.getCity());
|
||||
insertData.setGateway(networkInfo.getGateway());
|
||||
insertData.setInterfaceName(networkInfo.getName());
|
||||
insertData.setIpv4Address(networkInfo.getIpv4());
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else {
|
||||
RmNetworkInterface updateData = new RmNetworkInterface();
|
||||
// 检查其他字段是否需要更新
|
||||
boolean needUpdate = false;
|
||||
// 逐个字段比较是否需要更新
|
||||
if (!StringUtils.equals(networkInfo.getCity(), oldInterfaceMsg.getCity())) {
|
||||
updateData.setCity(networkInfo.getCity());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getIpv4(), oldInterfaceMsg.getIpv4Address())) {
|
||||
updateData.setIpv4Address(networkInfo.getIpv4());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getProvince(), oldInterfaceMsg.getProvince())) {
|
||||
updateData.setProvince(networkInfo.getProvince());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getPublicIp(), oldInterfaceMsg.getPublicIp())) {
|
||||
updateData.setPublicIp(networkInfo.getPublicIp());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getCarrier(), oldInterfaceMsg.getIsp())) {
|
||||
updateData.setIsp(networkInfo.getCarrier());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getType(), oldInterfaceMsg.getInterfaceType())) {
|
||||
updateData.setInterfaceType(networkInfo.getType());
|
||||
needUpdate = true;
|
||||
}
|
||||
// 只有有字段变化时才执行更新
|
||||
if (needUpdate) {
|
||||
rmNetworkInterfaceService.updateRmNetworkInterfaceByMac(updateData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
for (NetworkInfo networkInfo : networkInfoList) {
|
||||
// 查询该网卡信息是否存在
|
||||
RmNetworkInterface queryParam = new RmNetworkInterface();
|
||||
queryParam.setMacAddress(networkInfo.getMac());
|
||||
List<RmNetworkInterface> exits = rmNetworkInterfaceService.selectRmNetworkInterfaceList(queryParam);
|
||||
if(exits.isEmpty()){
|
||||
// 保存网卡信息
|
||||
RmNetworkInterface insertData = new RmNetworkInterface();
|
||||
// 业务ip和管理网ip
|
||||
insertData.setClientId(registerMsg.getClientId());
|
||||
insertData.setIsp(networkInfo.getCarrier());
|
||||
insertData.setCity(networkInfo.getCity());
|
||||
insertData.setGateway(networkInfo.getGateway());
|
||||
insertData.setInterfaceName(networkInfo.getName());
|
||||
insertData.setIpv4Address(networkInfo.getIpv4());
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
insertData.setCreateTime(createTime);
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else{
|
||||
RmNetworkInterface oldInterfaceMsg = exits.get(0);
|
||||
if(!StringUtils.equals(networkInfo.getName(),oldInterfaceMsg.getInterfaceName())
|
||||
|| !StringUtils.equals(networkInfo.getGateway(),oldInterfaceMsg.getGateway())){
|
||||
// 查询该网卡信息是否旧数据
|
||||
RmNetworkInterface query = new RmNetworkInterface();
|
||||
query.setMacAddress(networkInfo.getMac());
|
||||
query.setNewFlag(999);
|
||||
List<RmNetworkInterface> oldExits = rmNetworkInterfaceService.selectRmNetworkInterfaceList(queryParam);
|
||||
if(!oldExits.isEmpty()){
|
||||
// 先删除旧数据
|
||||
oldExits.forEach(oldMsg ->{
|
||||
rmNetworkInterfaceService.deleteRmNetworkInterfaceById(oldMsg.getId());
|
||||
});
|
||||
}
|
||||
// 先将已存在的改为旧数据
|
||||
RmNetworkInterface oldData = new RmNetworkInterface();
|
||||
oldData.setNewFlag(0);
|
||||
oldData.setMacAddress(networkInfo.getMac());
|
||||
rmNetworkInterfaceService.updateRmNetworkInterfaceByMac(oldData);
|
||||
RmNetworkInterface insertData = new RmNetworkInterface();
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setIsp(networkInfo.getCarrier());
|
||||
insertData.setCity(networkInfo.getCity());
|
||||
insertData.setGateway(networkInfo.getGateway());
|
||||
insertData.setInterfaceName(networkInfo.getName());
|
||||
insertData.setIpv4Address(networkInfo.getIpv4());
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else {
|
||||
RmNetworkInterface updateData = new RmNetworkInterface();
|
||||
// 检查其他字段是否需要更新
|
||||
boolean needUpdate = false;
|
||||
// 逐个字段比较是否需要更新
|
||||
if (!StringUtils.equals(networkInfo.getCity(), oldInterfaceMsg.getCity())) {
|
||||
updateData.setCity(networkInfo.getCity());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getIpv4(), oldInterfaceMsg.getIpv4Address())) {
|
||||
updateData.setIpv4Address(networkInfo.getIpv4());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getProvince(), oldInterfaceMsg.getProvince())) {
|
||||
updateData.setProvince(networkInfo.getProvince());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getPublicIp(), oldInterfaceMsg.getPublicIp())) {
|
||||
updateData.setPublicIp(networkInfo.getPublicIp());
|
||||
needUpdate = true;
|
||||
updateData.setBindIp("0");
|
||||
// 修改绑定公网ip状态
|
||||
RmResourceRegistrationRemote updateParam = new RmResourceRegistrationRemote();
|
||||
updateParam.setClientId(registerMsg.getClientId());
|
||||
updateParam.setMultiPublicIpStatus("0");
|
||||
remoteRevenueConfigService.updateStatusByResource(updateParam, SecurityConstants.INNER);
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getCarrier(), oldInterfaceMsg.getIsp())) {
|
||||
updateData.setIsp(networkInfo.getCarrier());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getType(), oldInterfaceMsg.getInterfaceType())) {
|
||||
updateData.setInterfaceType(networkInfo.getType());
|
||||
needUpdate = true;
|
||||
}
|
||||
// 只有有字段变化时才执行更新
|
||||
if (needUpdate) {
|
||||
rmNetworkInterfaceService.updateRmNetworkInterfaceByMac(updateData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -169,6 +376,7 @@ public class MessageHandler {
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
insertData.setCreateTime(createTime);
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else{
|
||||
@@ -201,6 +409,7 @@ public class MessageHandler {
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else {
|
||||
RmNetworkInterface updateData = new RmNetworkInterface();
|
||||
@@ -227,6 +436,10 @@ public class MessageHandler {
|
||||
updateData.setIsp(networkInfo.getCarrier());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getType(), oldInterfaceMsg.getInterfaceType())) {
|
||||
updateData.setInterfaceType(networkInfo.getType());
|
||||
needUpdate = true;
|
||||
}
|
||||
// 只有有字段变化时才执行更新
|
||||
if (needUpdate) {
|
||||
rmNetworkInterfaceService.updateRmNetworkInterfaceByMac(updateData);
|
||||
@@ -252,6 +465,7 @@ public class MessageHandler {
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
insertData.setCreateTime(createTime);
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else{
|
||||
@@ -284,6 +498,7 @@ public class MessageHandler {
|
||||
insertData.setMacAddress(networkInfo.getMac());
|
||||
insertData.setProvince(networkInfo.getProvince());
|
||||
insertData.setPublicIp(networkInfo.getPublicIp());
|
||||
insertData.setInterfaceType(networkInfo.getType());
|
||||
rmNetworkInterfaceService.insertRmNetworkInterface(insertData);
|
||||
}else {
|
||||
RmNetworkInterface updateData = new RmNetworkInterface();
|
||||
@@ -316,6 +531,10 @@ public class MessageHandler {
|
||||
updateData.setIsp(networkInfo.getCarrier());
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!StringUtils.equals(networkInfo.getType(), oldInterfaceMsg.getInterfaceType())) {
|
||||
updateData.setInterfaceType(networkInfo.getType());
|
||||
needUpdate = true;
|
||||
}
|
||||
// 只有有字段变化时才执行更新
|
||||
if (needUpdate) {
|
||||
rmNetworkInterfaceService.updateRmNetworkInterfaceByMac(updateData);
|
||||
@@ -325,7 +544,6 @@ public class MessageHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -566,6 +784,8 @@ public class MessageHandler {
|
||||
RmResourceRegistrationRemote updateData = new RmResourceRegistrationRemote();
|
||||
updateData.setClientId(message.getClientId());
|
||||
updateData.setLogicalNodeId(heartbeat.getLogicalNode());
|
||||
updateData.setAgentVersion(version);
|
||||
updateData.setOnboardTime(DateUtils.getNowDate());
|
||||
remoteRevenueConfigService.innerUpdateRegist(updateData, SecurityConstants.INNER);
|
||||
// agent更新结果存储
|
||||
RmAgentManagement query = new RmAgentManagement();
|
||||
|
||||
@@ -102,4 +102,5 @@ public interface IInitialSwitchInfoService
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> switchNetErrDiscardsEcharts(InitialSwitchInfo initialSwitchInfo);
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialBandwidthTraffic;
|
||||
import com.ruoyi.rocketmq.mapper.InitialBandwidthTrafficMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialBandwidthTrafficService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.utils.TableRouterUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
+3
-2
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialCpuInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialCpuInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialCpuInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -16,7 +16,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
import static com.ruoyi.rocketmq.utils.EchartsDataUtils.convertMicrosecondsToSeconds;
|
||||
import static com.ruoyi.common.core.utils.EchartsDataUtils.convertMicrosecondsToSeconds;
|
||||
|
||||
|
||||
/**
|
||||
* CPU监控信息Service业务层处理
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialDiskInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialDiskInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialDiskInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialDockerInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialDockerInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialDockerInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialMemoryInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialMemoryInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialMemoryInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialMountPointInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialMountPointInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialMountPointInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+27
-5
@@ -1,10 +1,12 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.common.core.utils.SpeedUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialSwitchInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSwitchInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSwitchInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import com.ruoyi.system.api.RemoteRevenueConfigService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -12,6 +14,8 @@ import org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -29,6 +33,8 @@ public class InitialSwitchInfoServiceImpl implements IInitialSwitchInfoService
|
||||
{
|
||||
@Autowired
|
||||
private InitialSwitchInfoMapper initialSwitchInfoMapper;
|
||||
@Autowired
|
||||
private RemoteRevenueConfigService remoteRevenueConfigService;
|
||||
|
||||
/**
|
||||
* 查询交换机流量监控信息
|
||||
@@ -140,10 +146,26 @@ public class InitialSwitchInfoServiceImpl implements IInitialSwitchInfoService
|
||||
@Override
|
||||
public Map<String, Object> switchNetSpeedEcharts(InitialSwitchInfo initialSwitchInfo) {
|
||||
List<InitialSwitchInfo> list = initialSwitchInfoMapper.selectInitialSwitchInfoList(initialSwitchInfo);
|
||||
Map<String, Function<InitialSwitchInfo, ?>> extractors = new LinkedHashMap<>();
|
||||
extractors.put("netInSpeedData", info -> info.getInSpeed());
|
||||
extractors.put("netOutSpeedData", info -> info.getOutSpeed());
|
||||
return EchartsDataUtils.buildEchartsData(list, InitialSwitchInfo::getCreateTime, extractors);
|
||||
try {
|
||||
String unit = SpeedUtils.calculateUnit(list, "inSpeed", "outSpeed");
|
||||
BigDecimal divisor = SpeedUtils.getDivisor(unit);
|
||||
Map<String, Function<InitialSwitchInfo, ?>> 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, InitialSwitchInfo::getCreateTime, extractors);
|
||||
resultMap.put("unit", unit);
|
||||
return resultMap;
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialSwitchMpuInfo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSwitchMpuInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSwitchMpuInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialSwitchOpticalModule;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSwitchOpticalModuleMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSwitchOpticalModuleService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+1
-1
@@ -1,11 +1,11 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialSwitchOtherCollectData;
|
||||
import com.ruoyi.rocketmq.enums.SwitchLogo;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSwitchOtherCollectDataMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSwitchOtherCollectDataService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialSwitchPowerSupply;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSwitchPowerSupplyMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSwitchPowerSupplyService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialCpuInfo;
|
||||
import com.ruoyi.rocketmq.domain.InitialMemoryInfo;
|
||||
import com.ruoyi.rocketmq.domain.InitialSystemInfo;
|
||||
@@ -9,7 +10,6 @@ import com.ruoyi.rocketmq.mapper.InitialCpuInfoMapper;
|
||||
import com.ruoyi.rocketmq.mapper.InitialMemoryInfoMapper;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSystemInfoMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSystemInfoService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+1
-1
@@ -1,13 +1,13 @@
|
||||
package com.ruoyi.rocketmq.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.rocketmq.domain.InitialCpuInfo;
|
||||
import com.ruoyi.rocketmq.domain.InitialSystemOtherCollectData;
|
||||
import com.ruoyi.rocketmq.enums.ServerLogoEnum;
|
||||
import com.ruoyi.rocketmq.mapper.InitialCpuInfoMapper;
|
||||
import com.ruoyi.rocketmq.mapper.InitialSystemOtherCollectDataMapper;
|
||||
import com.ruoyi.rocketmq.service.IInitialSystemOtherCollectDataService;
|
||||
import com.ruoyi.rocketmq.utils.EchartsDataUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+1
@@ -77,6 +77,7 @@ public class RmDeploymentPolicyServiceImpl implements IRmDeploymentPolicyService
|
||||
List<RmDeploymentPolicy> deploymentPolicyList = rmDeploymentPolicyMapper.selectRmDeploymentPolicyList(rmDeploymentPolicy);
|
||||
// 包含设备名称赋值
|
||||
deploymentPolicyList.forEach(policy -> {
|
||||
|
||||
getIncludeNameById(policy);
|
||||
// 不在线数量赋值
|
||||
String deviceMsg = policy.getDeployDevice();
|
||||
|
||||
+4
-2
@@ -109,8 +109,10 @@ public class RmResourceRemoteServiceImpl implements IRmResourceRemoteService
|
||||
RmResourceRegistrationRemote queryParam = new RmResourceRegistrationRemote();
|
||||
queryParam.setHardwareSn(rmResourceRemote.getHardwareSn());
|
||||
R<RmResourceRegistrationRemote> registrationRemote = remoteRevenueConfigService.getListByHardwareSn(queryParam, SecurityConstants.INNER);
|
||||
RmResourceRegistrationRemote resourceMsg = registrationRemote.getData();
|
||||
resultMap.put("resourceMsg", resourceMsg);
|
||||
if(registrationRemote != null && registrationRemote.getData() != null){
|
||||
RmResourceRegistrationRemote resourceMsg = registrationRemote.getData();
|
||||
resultMap.put("resourceMsg", resourceMsg);
|
||||
}
|
||||
// 脚本执行结果构建
|
||||
List<Map<String, Object>> scriptList = new ArrayList<>();
|
||||
List<RmResourceRemote> reslutList = rmResourceRemoteMapper.selectRmResourceRemoteList(rmResourceRemote);
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
package com.ruoyi.rocketmq.utils;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class EchartsDataUtils {
|
||||
|
||||
/**
|
||||
* 构建ECharts图表数据
|
||||
* @param list 原始数据列表
|
||||
* @param timeExtractor 时间字段提取函数
|
||||
* @param dataExtractors 数据提取器Map (key: 数据名称, value: 数据提取函数)
|
||||
* @param <T> 数据类型泛型
|
||||
* @return 包含xData和yData的Map
|
||||
*/
|
||||
public static <T> Map<String, Object> buildEchartsData(
|
||||
List<T> list,
|
||||
Function<T, Date> timeExtractor,
|
||||
Map<String, Function<T, ?>> dataExtractors) {
|
||||
|
||||
// 按时间排序
|
||||
List<T> sortedList = list.stream()
|
||||
.sorted(Comparator.comparing(timeExtractor))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 准备X轴数据
|
||||
List<String> xAxisData = sortedList.stream()
|
||||
.map(item -> DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", timeExtractor.apply(item)))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 准备Y轴数据
|
||||
Map<String, Object> yData = new LinkedHashMap<>();
|
||||
dataExtractors.forEach((name, extractor) -> {
|
||||
yData.put(name, sortedList.stream().map(extractor).collect(Collectors.toList()));
|
||||
});
|
||||
|
||||
// 构建返回结果
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("xData", xAxisData);
|
||||
result.put("yData", yData);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 微秒转秒
|
||||
*/
|
||||
public static double convertMicrosecondsToSeconds(long microseconds) {
|
||||
return microseconds / 1_000_000.0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user