优化实时95值计算功能、服务器收益功能、用户自定义列展示

This commit is contained in:
gaoyutao
2025-10-30 21:20:46 +08:00
parent 15ecd5caaf
commit c0f057d7ed
34 changed files with 1289 additions and 159 deletions
@@ -101,7 +101,7 @@ public class InitialSystemOtherCollectDataController extends BaseController
*/
@RequiresPermissions("rocketmq:systemOtherCollectData:list")
@PostMapping("/getMontiorMsg")
public AjaxResult getMontiorMsg(InitialSystemOtherCollectData initialSystemOtherCollectData)
public AjaxResult getMontiorMsg(@RequestBody InitialSystemOtherCollectData initialSystemOtherCollectData)
{
Map list = initialSystemOtherCollectDataService.getMonitorMsg(initialSystemOtherCollectData);
return success(list);
@@ -2,6 +2,7 @@ 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.InitialBandwidthTraffic;
import com.ruoyi.rocketmq.mapper.InitialBandwidthTrafficMapper;
import com.ruoyi.rocketmq.service.IInitialBandwidthTrafficService;
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -207,6 +210,8 @@ public class InitialBandwidthTrafficServiceImpl implements IInitialBandwidthTraf
condition.setTableName(tableName);
condition.setStartTime(initialBandwidthTraffic.getStartTime());
condition.setEndTime(initialBandwidthTraffic.getEndTime());
condition.setClientId(initialBandwidthTraffic.getClientId());
condition.setName(initialBandwidthTraffic.getName());
return initialBandwidthTrafficMapper.getNetTrafficList(condition).stream();
})
.collect(Collectors.toList());
@@ -221,11 +226,26 @@ public class InitialBandwidthTrafficServiceImpl implements IInitialBandwidthTraf
public Map<String, Object> netInterfaceTrafficEcharts(InitialBandwidthTraffic initialBandwidthTraffic) {
// 流量信息
List<InitialBandwidthTraffic> list = getListByTableName(initialBandwidthTraffic);
Map<String, Function<InitialBandwidthTraffic, ?>> extractors = new LinkedHashMap<>();
extractors.put("inSpeedData", info -> safeConvertToKB(info.getInSpeed()));
extractors.put("outSpeedData", info -> safeConvertToKB(info.getOutSpeed()));
try {
String unit = SpeedUtils.calculateUnitWithStringTraffic(list, "inSpeed", "outSpeed");
BigDecimal divisor = SpeedUtils.getDivisor(unit);
Map<String, Function<InitialBandwidthTraffic, ?>> extractors = new LinkedHashMap<>();
extractors.put("netInSpeedData", info ->
info != null && info.getInSpeed() != null ?
new BigDecimal(info.getInSpeed()).divide(divisor, 0, RoundingMode.HALF_UP) :
0);
return EchartsDataUtils.buildEchartsData(list, InitialBandwidthTraffic::getCreateTime, extractors);
extractors.put("netOutSpeedData", info ->
info != null && info.getOutSpeed() != null ?
new BigDecimal(info.getOutSpeed()).divide(divisor, 0, RoundingMode.HALF_UP) :
0);
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsData(list, InitialBandwidthTraffic::getCreateTime, extractors);
resultMap.put("unit", unit);
return resultMap;
} catch (Exception e){
e.printStackTrace();
}
return new HashMap<>();
}
// 安全转换方法(处理可能的NumberFormatException
private Double safeConvertToKB(String byteValue) {
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.MsgEnum;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.rocketmq.domain.DeviceMessage;
import com.ruoyi.rocketmq.domain.RmDeploymentPolicy;
import com.ruoyi.rocketmq.domain.RmResourceRemote;
@@ -119,6 +120,9 @@ public class RmDeploymentPolicyServiceImpl implements IRmDeploymentPolicyService
* @param policy
*/
public void getIncludeNameById(RmDeploymentPolicy policy){
if(policy == null){
return;
}
if (StringUtils.isBlank(policy.getIncludedDevicesId())) {
policy.setIncludedDevicesName("");
return;
@@ -156,6 +160,7 @@ public class RmDeploymentPolicyServiceImpl implements IRmDeploymentPolicyService
public int insertRmDeploymentPolicy(RmDeploymentPolicy rmDeploymentPolicy)
{
rmDeploymentPolicy.setCreateTime(DateUtils.getNowDate());
rmDeploymentPolicy.setCreateBy(SecurityUtils.getUsername());
return rmDeploymentPolicyMapper.insertRmDeploymentPolicy(rmDeploymentPolicy);
}
@@ -106,12 +106,14 @@ public class RmResourceRemoteServiceImpl implements IRmResourceRemoteService
// 构建返回结果
Map<String, Object> resultMap = new HashMap<>();
// 资源详情
RmResourceRegistrationRemote queryParam = new RmResourceRegistrationRemote();
queryParam.setHardwareSn(rmResourceRemote.getHardwareSn());
R<RmResourceRegistrationRemote> registrationRemote = remoteRevenueConfigService.getListByHardwareSn(queryParam, SecurityConstants.INNER);
if(registrationRemote != null && registrationRemote.getData() != null){
RmResourceRegistrationRemote resourceMsg = registrationRemote.getData();
resultMap.put("resourceMsg", resourceMsg);
if(rmResourceRemote.getHardwareSn() != null){
RmResourceRegistrationRemote queryParam = new RmResourceRegistrationRemote();
queryParam.setHardwareSn(rmResourceRemote.getHardwareSn());
R<RmResourceRegistrationRemote> registrationRemote = remoteRevenueConfigService.getListByHardwareSn(queryParam, SecurityConstants.INNER);
if(registrationRemote != null && registrationRemote.getData() != null){
RmResourceRegistrationRemote resourceMsg = registrationRemote.getData();
resultMap.put("resourceMsg", resourceMsg);
}
}
// 脚本执行结果构建
List<Map<String, Object>> scriptList = new ArrayList<>();