From 8ba6add88e9d5c408110dfcf80bf14e8d8df7c79 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 07 Jan 2022 09:15:13 +0800 Subject: [PATCH] 修改污染警报定时任务,实现数据分表 --- screen-job/src/main/java/com/moral/api/task/AlarmTask.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ screen-job/src/main/resources/mapper/AlarmInfoMapper.xml | 6 +++ screen-job/src/main/java/com/moral/api/mapper/AlarmInfoMapper.java | 5 ++ 3 files changed, 112 insertions(+), 0 deletions(-) diff --git a/screen-job/src/main/java/com/moral/api/mapper/AlarmInfoMapper.java b/screen-job/src/main/java/com/moral/api/mapper/AlarmInfoMapper.java index b555155..7997496 100644 --- a/screen-job/src/main/java/com/moral/api/mapper/AlarmInfoMapper.java +++ b/screen-job/src/main/java/com/moral/api/mapper/AlarmInfoMapper.java @@ -2,6 +2,9 @@ import com.moral.api.entity.AlarmInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; /** * <p> @@ -15,4 +18,6 @@ void createTable(String timeUnits); + void insertAlarmInfo(@Param("timeUnits") String timeUnits, @Param("map")Map<String,Object> map); + } diff --git a/screen-job/src/main/java/com/moral/api/task/AlarmTask.java b/screen-job/src/main/java/com/moral/api/task/AlarmTask.java index 93ac3c2..3ac44c2 100644 --- a/screen-job/src/main/java/com/moral/api/task/AlarmTask.java +++ b/screen-job/src/main/java/com/moral/api/task/AlarmTask.java @@ -114,9 +114,14 @@ } for (Device device:devices) { AlarmInfo alarmInfo = new AlarmInfo(); + Map<String,Object> alarmInfoMap = new HashMap<>(); alarmInfo.setAlarmTime(alarmDate); + alarmInfoMap.put("alarmTime",alarmTime); int deviceId = device.getId(); alarmInfo.setDeviceId(deviceId); + alarmInfoMap.put("deviceId",deviceId); + String timeUtils = alarmTime.replace("-",""); + timeUtils = timeUtils.substring(0,6); String mac = device.getMac(); List<HistoryHourly> historyHourlys = null; historyHourlys = historyHourlyService.getValueByMacAndTime(device.getMac(), nearDate, nearDate); @@ -162,6 +167,10 @@ String alarmInformation = "������["+device.getName()+"][PM2.5]���������["+PM2_5+"]������������������������[75]"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM2_5"); + alarmInfoMap.put("alarmType","������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } Double previousPM2_5 = null; @@ -187,6 +196,10 @@ String alarmInformation = "["+device.getName()+"]["+beforTime+"][PM2.5]���������["+PM2_5+"]������������������������["+previousPM2_5+"]���"+multiple+"���"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM2_5"); + alarmInfoMap.put("alarmType","���������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -218,6 +231,10 @@ String alarmInformation = "["+device.getName()+"][PM2.5]���������["+PM2_5+"]������["+sysArea.getAreaName()+"]������["+cityAqiPM2_5+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM2_5"); + alarmInfoMap.put("alarmType","������������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -255,6 +272,10 @@ String alarmInformation = "["+device.getName()+"][PM2.5]���������["+PM2_5+"]������["+govMonitorPoint.getName()+"]������["+govMonitorPointPM2_5+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM2_5"); + alarmInfoMap.put("alarmType","���������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -267,6 +288,10 @@ String alarmInformation = "������["+device.getName()+"][PM10]���������["+PM10+"]������������������������[150]"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM10"); + alarmInfoMap.put("alarmType","������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } Double previousPM10 = null; @@ -292,6 +317,10 @@ String alarmInformation = "["+device.getName()+"]["+beforTime+"][PM10]���������["+PM10+"]������������������������["+previousPM10+"]���"+multiple+"���"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM10"); + alarmInfoMap.put("alarmType","���������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -323,6 +352,10 @@ String alarmInformation = "["+device.getName()+"][PM10]���������["+PM10+"]������["+sysArea.getAreaName()+"]������["+cityAqiPM10+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM10"); + alarmInfoMap.put("alarmType","������������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -360,6 +393,10 @@ String alarmInformation = "["+device.getName()+"][PM10]���������["+PM10+"]������["+govMonitorPoint.getName()+"]������["+govMonitorPointPM10+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","PM10"); + alarmInfoMap.put("alarmType","���������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -372,6 +409,10 @@ String alarmInformation = "������["+device.getName()+"][SO2]���������["+SO2+"]������������������������[75]"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","SO2"); + alarmInfoMap.put("alarmType","������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } Double previousSO2 = null; @@ -397,6 +438,10 @@ String alarmInformation = "["+device.getName()+"]["+beforTime+"][SO2]���������["+SO2+"]������������������������["+previousSO2+"]���"+multiple+"���"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","SO2"); + alarmInfoMap.put("alarmType","������������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -428,6 +473,10 @@ String alarmInformation = "["+device.getName()+"][SO2]���������["+SO2+"]������["+sysArea.getAreaName()+"]������["+cityAqiSO2+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","SO2"); + alarmInfoMap.put("alarmType","������������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -465,6 +514,10 @@ String alarmInformation = "["+device.getName()+"][SO2]���������["+SO2+"]������["+govMonitorPoint.getName()+"]������["+govMonitorPointSO2+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","SO2"); + alarmInfoMap.put("alarmType","���������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -477,6 +530,10 @@ String alarmInformation = "������["+device.getName()+"][NO2]���������["+NO2+"]������������������������[75]"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","NO2"); + alarmInfoMap.put("alarmType","������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } Double previousNO2 = null; @@ -502,6 +559,10 @@ String alarmInformation = "["+device.getName()+"]["+beforTime+"][NO2]���������["+NO2+"]������������������������["+previousNO2+"]���"+multiple+"���"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","NO2"); + alarmInfoMap.put("alarmType","���������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -533,6 +594,10 @@ String alarmInformation = "["+device.getName()+"][NO2]���������["+NO2+"]������["+sysArea.getAreaName()+"]������["+cityAqiNO2+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","NO2"); + alarmInfoMap.put("alarmType","������������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -570,6 +635,10 @@ String alarmInformation = "["+device.getName()+"][NO2]���������["+NO2+"]������["+govMonitorPoint.getName()+"]������["+govMonitorPointNO2+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","NO2"); + alarmInfoMap.put("alarmType","���������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -582,6 +651,10 @@ String alarmInformation = "������["+device.getName()+"][CO]���������["+CO+"]������������������������[75]"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","CO"); + alarmInfoMap.put("alarmType","������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } Double previousCO = null; @@ -607,6 +680,10 @@ String alarmInformation = "["+device.getName()+"]["+beforTime+"][CO]���������["+CO+"]������������������������["+previousCO+"]���"+multiple+"���"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","CO"); + alarmInfoMap.put("alarmType","���������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -638,6 +715,10 @@ String alarmInformation = "["+device.getName()+"][CO]���������["+CO+"]������["+sysArea.getAreaName()+"]������["+cityAqiCO+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","CO"); + alarmInfoMap.put("alarmType","������������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -675,6 +756,10 @@ String alarmInformation = "["+device.getName()+"][CO]���������["+CO+"]������["+govMonitorPoint.getName()+"]������["+govMonitorPointCO+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","CO"); + alarmInfoMap.put("alarmType","���������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -687,6 +772,10 @@ String alarmInformation = "������["+device.getName()+"][O3]���������["+O3+"]������������������������[75]"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","O3"); + alarmInfoMap.put("alarmType","������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } Double previousO3 = null; @@ -712,6 +801,10 @@ String alarmInformation = "["+device.getName()+"]["+beforTime+"][O3]���������["+O3+"]������������������������["+previousO3+"]���"+multiple+"���"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","O3"); + alarmInfoMap.put("alarmType","���������"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -743,6 +836,10 @@ String alarmInformation = "["+device.getName()+"][O3]���������["+O3+"]������["+sysArea.getAreaName()+"]������["+cityAqiO3+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","O3"); + alarmInfoMap.put("alarmType","������������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } @@ -780,6 +877,10 @@ String alarmInformation = "["+device.getName()+"][O3]���������["+O3+"]������["+govMonitorPoint.getName()+"]������["+govMonitorPointO3+"]���"+percentage+"%"; alarmInfo.setAlarmInformation(alarmInformation); alarmInfoMapper.insert(alarmInfo); + alarmInfoMap.put("index","O3"); + alarmInfoMap.put("alarmType","���������������"+percentage+"%"); + alarmInfoMap.put("alarmInformation",alarmInformation); + alarmInfoMapper.insertAlarmInfo(timeUtils, alarmInfoMap); continue; } } diff --git a/screen-job/src/main/resources/mapper/AlarmInfoMapper.xml b/screen-job/src/main/resources/mapper/AlarmInfoMapper.xml index ce72da2..6fd6b2b 100644 --- a/screen-job/src/main/resources/mapper/AlarmInfoMapper.xml +++ b/screen-job/src/main/resources/mapper/AlarmInfoMapper.xml @@ -26,4 +26,10 @@ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '���������������������'; </update> + <insert id="insertAlarmInfo"> + insert into alarm_info_${timeUnits} + (alarm_time,`index`,device_id,alarm_type,alarm_information) + values (#{map.alarmTime},#{map.index},#{map.deviceId},#{map.alarmType},#{map.alarmInformation}) + </insert> + </mapper> \ No newline at end of file -- Gitblit v1.8.0