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