From d8310f6bc609440fa352c0e5a9436c7c78caa287 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Mon, 29 Nov 2021 11:09:48 +0800 Subject: [PATCH] Merge branch 'master' of http://blit.7drlb.com:8888/r/screen_job --- 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