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/OffLineDevicesTask.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ src/main/resources/mapper/DeviceMapper.xml | 8 ++++++++ src/main/java/com/moral/mapper/DeviceMapper.java | 2 ++ 3 files changed, 58 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java index 2ade144..006dafc 100644 --- a/src/main/java/com/moral/mapper/DeviceMapper.java +++ b/src/main/java/com/moral/mapper/DeviceMapper.java @@ -40,4 +40,6 @@ List<Map<String, Object>> getAllByMacList(List<String> list); + List<Map<String, Object>> getOfflineDevice(); + } \ No newline at end of file diff --git a/src/main/java/com/moral/task/OffLineDevicesTask.java b/src/main/java/com/moral/task/OffLineDevicesTask.java new file mode 100644 index 0000000..5a34490 --- /dev/null +++ b/src/main/java/com/moral/task/OffLineDevicesTask.java @@ -0,0 +1,48 @@ +package com.moral.task; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import com.moral.mapper.DeviceMapper; +import com.moral.util.AlarmUtils_2; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.xxl.job.core.log.XxlJobLogger; + +@Component +public class OffLineDevicesTask { + private static transient Logger logger = LoggerFactory.getLogger(OffLineAlarmTask.class); + + @Resource + private DeviceMapper deviceMapper; + + @XxlJob("OffLineDevices") + public ReturnT OffLineAlarm(String params) { + List<Map<String, Object>> devices = deviceMapper.getOfflineDevice(); + List<String> list = new ArrayList<>(); + for (Map<String, Object> device : devices) { + String name = device.get("name").toString(); + String mac = device.get("mac").toString(); + String s = name + "(" + mac + ")"; + list.add(s); + } + if (list.size() != 0) { + try { + AlarmUtils_2.sendMail("276999030@qq.com", "���������������������", list.toString() + "���������������"); + return new ReturnT(200, "���������������������������������"); + } catch (Exception e) { + XxlJobLogger.log("OffLineDevices:" + e.getMessage()); + logger.error(e.getMessage()); + e.printStackTrace(); + } + } + return new ReturnT(500, "���������������,���������������"); + } +} diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 5b8fe34..75ff790 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -301,4 +301,12 @@ where mac in <foreach item="item" collection="list" index="index" open="(" separator="," close=")">#{item}</foreach> </select> + + <select id="getOfflineDevice" resultType="java.util.Map"> + SELECT name,mac + from device + WHERE state=4 and is_delete=0 and monitor_point_id in + (SELECT id FROM monitor_point WHERE city_code!=130900 or (city_code=130900 and organization_id in (60, 65, 159, 165, 166) and id!=56 and id!=83 and id!=84)) + and mac not in (SELECT mac FROM special_device_config); + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0