优化图形分析根据可选时间补0逻辑、优化流量图形单位可选功能。

This commit is contained in:
gaoyutao
2025-11-06 18:09:29 +08:00
parent 5e5330a924
commit c4b380437f
7 changed files with 77 additions and 11 deletions
@@ -605,6 +605,7 @@ public class EpsInitialTrafficDataServiceImpl implements EpsInitialTrafficDataSe
String unit = result.getRecommendedUnit();
if(epsInitialTrafficData.getUnit() != null){
unit = epsInitialTrafficData.getUnit();
result.setRecommendedUnit(unit);
}
BigDecimal divisor = SpeedUtils.getDivisor(unit);
Map<String, Function<EpsInitialTrafficData, ?>> extractors = new LinkedHashMap<>();
@@ -769,6 +769,7 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
EpsNodeBandwidth nodeBandwidth = epsNodeBandwidthList.get(0);
percentile95 = nodeBandwidth.getBandwidthResult();
}
dailyQuery.setClientId(clientId);
dailyQuery.setName(rmEpsTopologyManagement.getInterfaceName());
Map<String, Object> resultMap = switchNetSpeedEcharts(dailyQuery, percentile95);
// 查询端口备注信息
@@ -868,6 +869,7 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
EpsNodeBandwidth nodeBandwidth = epsNodeBandwidthList.get(0);
percentile95 = nodeBandwidth.getBandwidthResult();
}
dailyQuery.setClientId(clientId);
dailyQuery.setName(rmEpsTopologyManagement.getInterfaceName());
Map<String, Object> resultMap = switchNetSpeedEcharts(dailyQuery, percentile95);
// 查询端口备注信息
@@ -923,12 +925,16 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
*/
public Map<String, Object> switchNetSpeedEcharts(InitialSwitchInfoDetails initialSwitchInfoDetails, BigDecimal percentile95) {
List<InitialSwitchInfoDetails> list = initialSwitchInfoDetailsMapper.getswitchDetailList(initialSwitchInfoDetails);
if(list == null){
list = new ArrayList<>();
}
try {
list.forEach(data -> data.setPercentile95(SpeedUtils.mbitToBit(percentile95)));
SpeedUtils.SpeedResult result = SpeedUtils.calculateWithAverageBasedUnit(list, "inSpeed", "outSpeed");
String unit = result.getRecommendedUnit();
if(initialSwitchInfoDetails.getUnit() != null){
unit = initialSwitchInfoDetails.getUnit();
result.setRecommendedUnit(unit);
}
BigDecimal divisor = SpeedUtils.getDivisor(unit);
Map<String, Function<InitialSwitchInfoDetails, ?>> extractors = new LinkedHashMap<>();
@@ -945,7 +951,9 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
info != null && info.getPercentile95() != null ?
info.getPercentile95().divide(divisor, 2, RoundingMode.HALF_UP) :
0);
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsData(list, InitialSwitchInfoDetails::getCreateTime, extractors);
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsDataAutoPadding(
list, InitialSwitchInfoDetails::getCreateTime, extractors,
initialSwitchInfoDetails.getStartTime(), initialSwitchInfoDetails.getEndTime());
resultMap.put("other", result);
resultMap.put("95value", percentile95);
return resultMap;