From 72026a58219a4ee7cc41a7b37204da372d16d2aa Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 27 Nov 2020 16:45:10 +0800 Subject: [PATCH] 设备掉线报警邮件发送 --- src/main/java/com/moral/task/RabbitMQInsertTask.java | 90 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 79 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/moral/task/RabbitMQInsertTask.java b/src/main/java/com/moral/task/RabbitMQInsertTask.java index 5e2cac5..6ee61ff 100644 --- a/src/main/java/com/moral/task/RabbitMQInsertTask.java +++ b/src/main/java/com/moral/task/RabbitMQInsertTask.java @@ -3,15 +3,12 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; +import com.moral.util.AlarmUtils_2; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.TopicExchange; @@ -32,7 +29,7 @@ import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.log.XxlJobLogger; -//@Component +@Component public class RabbitMQInsertTask { private static transient Logger logger = LoggerFactory.getLogger(RabbitMQInsertTask.class); @@ -61,11 +58,24 @@ @Qualifier("organization_data") private TopicExchange organization_data; - //@XxlJob("RabbitMQRealtimeMinutely") + @XxlJob("RabbitMQRealtimeMinutely") public ReturnT insertRabbitMQRealtimeMinutely(String params) { LocalDateTime time = LocalDateTime.now(); int year = time.getYear(); int month = time.getMonthValue(); + int day = time.getDayOfMonth(); + int hour = time.getHour(); + int minute = time.getMinute(); + if (day == 1) { + if (hour == 0 && minute == 0) { + if (month == 1) { + month = 12; + year = year - 1; + } else { + month = month - 1; + } + } + } String monthStr = month < 10 ? ("0" + month) : month + ""; String yearAndMonth = year + monthStr; Map organizationIdMap = JSON.parseObject(params); @@ -122,11 +132,24 @@ return returnT; } - //@XxlJob("RabbitMQRealtimeEveryFiveMinutes") + @XxlJob("RabbitMQRealtimeEveryFiveMinutes") public ReturnT insertRabbitMQRealtimeEveryFiveMinutes(String params) { LocalDateTime time = LocalDateTime.now(); int year = time.getYear(); int month = time.getMonthValue(); + int day = time.getDayOfMonth(); + int hour = time.getHour(); + int minute = time.getMinute(); + if (day == 1) { + if (hour == 0 && minute == 0) { + if (month == 1) { + month = 12; + year = year - 1; + } else { + month = month - 1; + } + } + } String monthStr = month < 10 ? ("0" + month) : month + ""; String yearAndMonth = year + monthStr; Map organizationIdMap = JSON.parseObject(params); @@ -183,11 +206,24 @@ return returnT; } - //@XxlJob("RabbitMQMinutely") + @XxlJob("RabbitMQMinutely") public ReturnT insertRabbitMQMinutely(String params) { LocalDateTime time = LocalDateTime.now(); int year = time.getYear(); int month = time.getMonthValue(); + int day = time.getDayOfMonth(); + int hour = time.getHour(); + int minute = time.getMinute(); + if (day == 1) { + if (hour == 0 && minute == 0) { + if (month == 1) { + month = 12; + year = year - 1; + } else { + month = month - 1; + } + } + } String monthStr = month < 10 ? ("0" + month) : month + ""; String yearAndMonth = year + monthStr; Map organizationIdMap = JSON.parseObject(params); @@ -245,7 +281,7 @@ return returnT; } - //@XxlJob("RabbitMQHourly") + @XxlJob("RabbitMQHourly") public ReturnT insertRabbitMQHourly(String params) { LocalDateTime time = LocalDateTime.now(); Map organizationIdMap = JSON.parseObject(params); @@ -269,6 +305,35 @@ List<Map<String, Object>> hourlyDataList = historyHourlyService.getHourlySensorData(devices); XxlJobLogger.log("RabbitMQHourlyData:" + hourlyDataList.size()); if (!CollectionUtils.isEmpty(hourlyDataList)) { + if(!(hourlyDataList.size()==macList.size())){ + List<String> macList_copy = macList; + if (hourlyDataList.size()<macList.size()){ + for (Map hourData: hourlyDataList) { + for (int k=0;k<macList_copy.size();k++){ + if (hourData.get("mac").equals(macList_copy.get(k))){ + macList_copy.remove(k); + } + } + } + } + List<String> ignoreMacList = new ArrayList(); + ignoreMacList.add("p5dnd7a0392130"); + for (String ignoreMac:ignoreMacList) { + for (int d=0;d<macList_copy.size();d++){ + if (macList_copy.get(d).equals(ignoreMac)){ + macList_copy.remove(d); + } + } + } + if (macList_copy.size()!=0){ + List<Map<String, Object>> deviceList = deviceService.getAllByMacList(macList_copy); + List<String> de = new ArrayList<>(); + for (Map deviceMap:deviceList) { + de.add(deviceMap.get("name").toString()); + } + AlarmUtils_2.sendMail("276999030@qq.com,1vv_zkk6ji3kln@dingtalk.com,liumiao_love@126.com","������������",de.toString()+"���������������������"); + } + } for (Map<String, Object> deviceData : hourlyDataList) { if (!ObjectUtils.isEmpty(deviceData)) { Map<String, Object> hourlyData = new LinkedHashMap<>(); @@ -302,7 +367,7 @@ return returnT; } - //@XxlJob("RabbitMQDaily") + @XxlJob("RabbitMQDaily") public ReturnT insertRabbitMQDaily(String params) { LocalDateTime time = LocalDateTime.now(); Map organizationIdMap = JSON.parseObject(params); @@ -358,4 +423,7 @@ ReturnT returnT = new ReturnT(500, "RabbitMQ���������������������"); return returnT; } + } + + -- Gitblit v1.8.0