From 33d898d8146223184fcaab82a9e16649434a1ab6 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Fri, 09 Sep 2022 17:47:54 +0800
Subject: [PATCH] 千灯数据转发bug修改
---
src/main/java/com/moral/task/OffLineDevicesTask.java | 62 ++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/moral/task/OffLineDevicesTask.java b/src/main/java/com/moral/task/OffLineDevicesTask.java
index 3fc979a..31928d2 100644
--- a/src/main/java/com/moral/task/OffLineDevicesTask.java
+++ b/src/main/java/com/moral/task/OffLineDevicesTask.java
@@ -1,16 +1,23 @@
package com.moral.task;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+import com.alibaba.fastjson.JSON;
import com.moral.mapper.DeviceMapper;
+import com.moral.mapper.HistoryHourlyMapper;
import com.moral.util.AlarmUtils_2;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
@@ -22,6 +29,9 @@
@Resource
private DeviceMapper deviceMapper;
+
+ @Resource
+ private HistoryHourlyMapper historyHourlyMapper;
@XxlJob("OffLineDevices")
public ReturnT OffLineAlarm(String params) {
@@ -59,7 +69,7 @@
}
if (list.size() != 0) {
try {
- AlarmUtils_2.sendMail("lili@nieh.chinacdc.cn", "���������������������", list.toString() + ",���" + list.size() + "������������������");
+ AlarmUtils_2.sendMail("vliliv@163.com", "���������������������", list.toString() + ",���" + list.size() + "������������������");
return new ReturnT(200, "���������������������������������" + list.size());
} catch (Exception e) {
XxlJobLogger.log("OffLineDevices:" + e.getMessage());
@@ -69,4 +79,54 @@
}
return new ReturnT(500, "���������������,���������������");
}
+
+ @XxlJob("hourOffLine")
+ public ReturnT hourOffLine(String params) {
+ //������������
+ Map<String, Object> map = JSON.parseObject(params, Map.class);
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ String orgId = entry.getKey();
+ List<String> emails = (List<String>) entry.getValue();
+ //������������������������������
+ List<Map<String, Object>> devices = deviceMapper.getOfflineDeviceOfDiseaseCenter(orgId);
+ List<String> devicesInfo = devices.stream()
+ .map(device -> device.get("name").toString())
+ .collect(Collectors.toList());
+ if (!ObjectUtils.isEmpty(devicesInfo)) {
+ emails.forEach(email -> AlarmUtils_2.sendMail(email, "������-���������������������������", devicesInfo + "���������������"));
+ }
+ }
+ return new ReturnT(200, "���������������������������������");
+ }
+
+ @XxlJob("dayOffLine")
+ public ReturnT dayOffLine(String params) {
+ LocalDateTime now = LocalDateTime.now();
+ LocalDateTime end = now.truncatedTo(ChronoUnit.DAYS);
+ LocalDateTime start = end.minusDays(1);
+ Map<String, Object> hashMap = new HashMap<>();
+ hashMap.put("start", start);
+ hashMap.put("end", end);
+ //������������
+ Map<String, Object> map = JSON.parseObject(params, Map.class);
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ String orgId = entry.getKey();
+ List<String> emails = (List<String>) entry.getValue();
+ //������������������������������
+ List<Map<String, Object>> devices = deviceMapper.getAllDeviceByOrg(orgId);
+ List<String> devicesInfo = new ArrayList<>();
+ devices.forEach(device -> {
+ hashMap.put("mac", device.get("mac").toString());
+ int count = historyHourlyMapper.selectCountByMac(hashMap);
+ if (count == 0) {
+ devicesInfo.add(device.get("name").toString());
+ }
+ });
+
+ if (!ObjectUtils.isEmpty(devicesInfo)) {
+ emails.forEach(email -> AlarmUtils_2.sendMail(email, "������-���������������������������", devicesInfo + "���������������"));
+ }
+ }
+ return new ReturnT(200, "���������������������������������");
+ }
}
--
Gitblit v1.8.0