From b4304bac2268701dfc89bb62646748ef3eeb08d6 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Thu, 12 May 2022 16:17:40 +0800
Subject: [PATCH] 千灯小时分钟数据保存到MQ
---
src/main/java/com/moral/task/OffLineDevicesTask.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/moral/task/OffLineDevicesTask.java b/src/main/java/com/moral/task/OffLineDevicesTask.java
index 4f559c3..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) {
@@ -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