增加计算单位可选方法.

优化图形分析根据可选时间补0逻辑,完成度70%。
优化业务自定义95值计算功能修改相关数据方法。
This commit is contained in:
gaoyutao
2025-11-04 19:11:07 +08:00
parent fe1763386a
commit 84e003893d
18 changed files with 438 additions and 53 deletions
@@ -72,5 +72,7 @@ public class InitialBandwidthTraffic extends BaseEntity
private String startTime;
/** 结束时间 */
private String endTime;
/** 单位 */
private String unit;
}
@@ -67,6 +67,8 @@ public class InitialSwitchInfo extends BaseEntity
private String endTime;
/** 计算方式 */
private String calculationMode;
/* 单位 */
private String unit;
}
@@ -228,6 +228,9 @@ public class InitialBandwidthTrafficServiceImpl implements IInitialBandwidthTraf
List<InitialBandwidthTraffic> list = getListByTableName(initialBandwidthTraffic);
try {
String unit = SpeedUtils.calculateUnitWithStringTraffic(list, "inSpeed", "outSpeed");
if(initialBandwidthTraffic.getUnit() != null){
unit = initialBandwidthTraffic.getUnit();
}
BigDecimal divisor = SpeedUtils.getDivisor(unit);
Map<String, Function<InitialBandwidthTraffic, ?>> extractors = new LinkedHashMap<>();
extractors.put("netInSpeedData", info ->
@@ -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.UnitChangeUtil;
import com.ruoyi.rocketmq.domain.InitialMountPointInfo;
import com.ruoyi.rocketmq.mapper.InitialMountPointInfoMapper;
import com.ruoyi.rocketmq.service.IInitialMountPointInfoService;
@@ -133,8 +134,8 @@ public class InitialMountPointInfoServiceImpl implements IInitialMountPointInfoS
public Map<String, Object> spaceEcharts(InitialMountPointInfo initialMountPointInfo) {
List<InitialMountPointInfo> list = initialMountPointInfoMapper.selectInitialMountPointInfoList(initialMountPointInfo);
Map<String, Function<InitialMountPointInfo, ?>> extractors = new LinkedHashMap<>();
extractors.put("vfsFreeData", info -> info.getVfsFree() / 1024.0);
extractors.put("vfsTotalData", info -> info.getVfsTotal() / 1024.0);
extractors.put("vfsFreeData", info -> UnitChangeUtil.bytesToGb(info.getVfsFree()));
extractors.put("vfsTotalData", info -> UnitChangeUtil.bytesToGb(info.getVfsTotal()));
return EchartsDataUtils.buildEchartsData(list,InitialMountPointInfo::getCreateTime, extractors);
}
@@ -136,7 +136,7 @@ public class InitialSwitchInfoServiceImpl implements IInitialSwitchInfoService
@Override
public InitialSwitchInfo getSwitchNetDetailsMsg(InitialSwitchInfo initialSwitchInfo) {
InitialSwitchInfo info = initialSwitchInfoMapper.getSwitchNetDetailsMsg(initialSwitchInfo);
if(info.getType()!=null){
if(info != null && info.getType()!=null){
info.setType(ConvertOtherTypeUtil.getInterfaceTypeName(Integer.parseInt(info.getType())));
}
return info;
@@ -152,6 +152,9 @@ public class InitialSwitchInfoServiceImpl implements IInitialSwitchInfoService
List<InitialSwitchInfo> list = initialSwitchInfoMapper.selectInitialSwitchInfoList(initialSwitchInfo);
try {
String unit = SpeedUtils.calculateUnit(list, "inSpeed", "outSpeed");
if(initialSwitchInfo.getUnit() != null){
unit = initialSwitchInfo.getUnit();
}
BigDecimal divisor = SpeedUtils.getDivisor(unit);
Map<String, Function<InitialSwitchInfo, ?>> extractors = new LinkedHashMap<>();
extractors.put("netInSpeedData", info ->
@@ -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.UnitChangeUtil;
import com.ruoyi.rocketmq.domain.InitialCpuInfo;
import com.ruoyi.rocketmq.domain.InitialSystemOtherCollectData;
import com.ruoyi.rocketmq.enums.ServerLogoEnum;
@@ -199,7 +200,14 @@ public class InitialSystemOtherCollectDataServiceImpl implements IInitialSystemO
List<InitialSystemOtherCollectData> list = initialSystemOtherCollectDataMapper.selectInitialSystemOtherCollectDataList(initialSystemOtherCollectData);
Map<String, Function<InitialSystemOtherCollectData, ?>> extractors = new LinkedHashMap<>();
extractors.put("memorySizeAvailableData", InitialSystemOtherCollectData::getCollectValue);
extractors.put("memorySizeAvailableData", data -> {
try {
String kbValue = data.getCollectValue();
return kbValue == null ? "0.00" : UnitChangeUtil.convertKbToGb(kbValue);
} catch (Exception e) {
return "0.00";
}
});
return EchartsDataUtils.buildEchartsData(list, InitialSystemOtherCollectData::getCreateTime, extractors);
}
@@ -1,6 +1,8 @@
package com.ruoyi.rocketmq.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.constant.SecurityConstants;
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;
@@ -14,6 +16,7 @@ import com.ruoyi.rocketmq.service.IRmMonitorPolicyService;
import com.ruoyi.rocketmq.snmp.scheduler.MultiSwitchCollectionScheduler;
import com.ruoyi.rocketmq.utils.DataProcessUtil;
import com.ruoyi.rocketmq.utils.FieldNameConverterUtil;
import com.ruoyi.system.api.RemoteRevenueConfigService;
import com.ruoyi.system.api.domain.RmResourceRegistrationRemote;
import com.ruoyi.system.api.domain.RmSwitchManagementRemote;
import lombok.extern.slf4j.Slf4j;
@@ -53,6 +56,8 @@ public class RmMonitorPolicyServiceImpl implements IRmMonitorPolicyService
private RmInitialMonitorItemMapper rmInitialMonitorItemMapper;
@Autowired
private DataProcessUtil dataProcessUtil;
@Autowired
private RemoteRevenueConfigService remoteRevenueConfigService;
private final MultiSwitchCollectionScheduler scheduler;
@@ -82,6 +87,21 @@ public class RmMonitorPolicyServiceImpl implements IRmMonitorPolicyService
@Override
public List<RmMonitorPolicy> selectRmMonitorPolicyList(RmMonitorPolicy rmMonitorPolicy)
{
if("switch".equals(rmMonitorPolicy.getResourceType()) && rmMonitorPolicy.getQueryName() != null){
// 查询交换机clientId
String queryName = rmMonitorPolicy.getQueryName();
RmSwitchManagementRemote rmSwitchManagementRemote = new RmSwitchManagementRemote();
rmSwitchManagementRemote.setSwitchName(queryName);
R<List<RmSwitchManagementRemote>> switchMsgR = remoteRevenueConfigService.getSwitchNameByClientId(rmSwitchManagementRemote, SecurityConstants.INNER);
if(switchMsgR != null && !switchMsgR.getData().isEmpty()){
StringJoiner joiner = new StringJoiner(",");
for (RmSwitchManagementRemote switchMsg : switchMsgR.getData()) {
joiner.add(switchMsg.getClientId());
}
rmMonitorPolicy.setQueryName(joiner.toString());
}
}
List<RmMonitorPolicy> list = rmMonitorPolicyMapper.selectRmMonitorPolicyList(rmMonitorPolicy);
for (RmMonitorPolicy monitorPolicy : list) {
// 资源组名称