增加日志控制、优化金山95值自动计算方法
This commit is contained in:
+8
-1
@@ -1,8 +1,9 @@
|
||||
package com.ruoyi.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.system.domain.RmRegistrationMachine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 绑定金山machinecodeMapper接口
|
||||
*
|
||||
@@ -58,4 +59,10 @@ public interface RmRegistrationMachineMapper
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRmRegistrationMachineByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 获取绑定的clientId
|
||||
* @return
|
||||
*/
|
||||
List<RmRegistrationMachine> getAllMachineClientId();
|
||||
}
|
||||
|
||||
+27
-23
@@ -49,6 +49,8 @@ public class EpsInitialTrafficDataServiceImpl implements EpsInitialTrafficDataSe
|
||||
private EpsBusinessDeployMapper epsBusinessDeployMapper;
|
||||
@Autowired
|
||||
private RmEpsTopologyManagementMapper rmEpsTopologyManagementMapper;
|
||||
@Autowired
|
||||
private RmRegistrationMachineMapper rmRegistrationMachineMapper;
|
||||
@Override
|
||||
public void createNextMonthTables() {
|
||||
LocalDate nextMonth = LocalDate.now().plusMonths(1);
|
||||
@@ -271,32 +273,34 @@ public class EpsInitialTrafficDataServiceImpl implements EpsInitialTrafficDataSe
|
||||
@Override
|
||||
public void calculate95ByJinShan(EpsInitialTrafficData queryParam,
|
||||
String dailyStartTime, String dailyEndTime, String calculationMode) {
|
||||
// 获取所有设备SN列表
|
||||
List<AllInterfaceName> snList = allInterfaceNameMapper.getAllDeviceSn(new AllInterfaceName());
|
||||
// 遍历处理每个设备
|
||||
snList.forEach(interfaceName -> {
|
||||
queryParam.setServiceSn(interfaceName.getDeviceSn());
|
||||
queryParam.setStartTime(dailyStartTime);
|
||||
queryParam.setEndTime(dailyEndTime);
|
||||
List<EpsInitialTrafficData> dataList = query(queryParam);
|
||||
// 获取已绑定金山Code的clientId列表
|
||||
List<RmRegistrationMachine> rmRegistrationMachineList = rmRegistrationMachineMapper.getAllMachineClientId();
|
||||
if(rmRegistrationMachineList != null && !rmRegistrationMachineList.isEmpty()){
|
||||
// 遍历处理每个设备
|
||||
rmRegistrationMachineList.forEach(interfaceName -> {
|
||||
queryParam.setClientId(interfaceName.getClientId());
|
||||
queryParam.setStartTime(dailyStartTime);
|
||||
queryParam.setEndTime(dailyEndTime);
|
||||
List<EpsInitialTrafficData> dataList = query(queryParam);
|
||||
|
||||
if (!dataList.isEmpty()) {
|
||||
// 1. 提取并转换带宽值
|
||||
List<BigDecimal> speedsInMbps = dataList.stream()
|
||||
.map(data -> CalculateUtil.parseSpeedToMbps(data.getMachineFlow(), calculationMode))
|
||||
.sorted()
|
||||
.collect(Collectors.toList());
|
||||
if (!dataList.isEmpty()) {
|
||||
// 1. 提取并转换带宽值
|
||||
List<BigDecimal> speedsInMbps = dataList.stream()
|
||||
.map(data -> CalculateUtil.parseSpeedToMbps(data.getMachineFlow(), calculationMode))
|
||||
.sorted()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 2. 计算95百分位
|
||||
BigDecimal percentile95 = CalculateUtil.calculatePercentile(speedsInMbps, 0.95);
|
||||
// 2. 计算95百分位
|
||||
BigDecimal percentile95 = CalculateUtil.calculatePercentile(speedsInMbps, 0.95);
|
||||
|
||||
// 3. 保存结果
|
||||
EpsInitialTrafficData epsInitialTrafficData = dataList.get(0);
|
||||
epsInitialTrafficData.setResourceType("1");
|
||||
epsInitialTrafficData.setBandwidthType("8");
|
||||
saveBandwidthResult(epsInitialTrafficData, percentile95, dailyStartTime, calculationMode);
|
||||
}
|
||||
});
|
||||
// 3. 保存结果
|
||||
EpsInitialTrafficData epsInitialTrafficData = dataList.get(0);
|
||||
epsInitialTrafficData.setResourceType("1");
|
||||
epsInitialTrafficData.setBandwidthType("8");
|
||||
saveBandwidthResult(epsInitialTrafficData, percentile95, dailyStartTime, calculationMode);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+8
@@ -74,4 +74,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="getAllMachineClientId" resultType="RmRegistrationMachine">
|
||||
select client_id clientId from rm_registration_machine
|
||||
<where>
|
||||
and client_id != ''
|
||||
</where>
|
||||
group by client_id
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user