| New file | 
|  |  |  | 
|---|
|  |  |  | 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, "无掉线设备,不发送邮件"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|