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