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> devices = deviceMapper.getOfflineDevice(); List list = new ArrayList<>(); for (Map 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, "无掉线设备,不发送邮件"); } }