From 96d7cf8eb72810dfa5921a585d64b5ce9909d416 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 16 Dec 2020 16:53:25 +0800
Subject: [PATCH] 北京疾控中心设备掉线报警邮件发送

---
 src/main/java/com/moral/task/OffLineDevicesTask.java |   24 ++++++++++++++++++++++++
 src/main/resources/mapper/DeviceMapper.xml           |    9 +++++++++
 src/main/java/com/moral/mapper/DeviceMapper.java     |    2 ++
 3 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java
index 006dafc..b48bfb7 100644
--- a/src/main/java/com/moral/mapper/DeviceMapper.java
+++ b/src/main/java/com/moral/mapper/DeviceMapper.java
@@ -42,4 +42,6 @@
 
     List<Map<String, Object>> getOfflineDevice();
 
+    List<Map<String, Object>> getOfflineDeviceOfDiseaseCenter(String orgId);
+
 }
\ 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
index 5a34490..5773e9e 100644
--- a/src/main/java/com/moral/task/OffLineDevicesTask.java
+++ b/src/main/java/com/moral/task/OffLineDevicesTask.java
@@ -45,4 +45,28 @@
         }
         return new ReturnT(500, "���������������,���������������");
     }
+
+    @XxlJob("OffLineDiseaseDevices")
+    public ReturnT OffLineDiseaseDevicesAlarm(String params) {
+        String orgId = "174";
+        List<Map<String, Object>> devices = deviceMapper.getOfflineDeviceOfDiseaseCenter(orgId);
+        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("lili@nieh.chinacdc.cn", "���������������������", list.toString() + ",���" + list.size() + "������������������");
+                return new ReturnT(200, "���������������������������������" + list.size());
+            } 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 75ff790..a455140 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -309,4 +309,13 @@
         (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>
+
+    <select id="getOfflineDeviceOfDiseaseCenter" 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 organization_id=#{orgId}
+    );
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0