package com.moral.monitor.listener.quartz;
|
|
import com.moral.monitor.dao.TaskDao;
|
import com.moral.monitor.entity.Noticelog;
|
import com.moral.monitor.entity.User;
|
import com.moral.monitor.listener.message.Mail;
|
import com.moral.monitor.listener.message.Phone;
|
import com.moral.monitor.listener.message.Sms;
|
import com.moral.monitor.listener.message.WeChat;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
|
/**
|
* Created by a on 2017/5/25.
|
*/
|
public class MessageNotice {
|
@Resource
|
TaskDao taskDao;
|
public void notice(){
|
Noticelog noticelog = taskDao.selectnoticelogbystate();
|
if(noticelog!=null){
|
//查找用户信息,组织报警信息
|
int user_id = noticelog.getUser_id();
|
User u = taskDao.selectuserbyuid(user_id);
|
String notice_type = noticelog.getNotice_type();
|
if (notice_type.equals("邮件通知")){
|
Mail mail = new Mail(u.getEmail(),noticelog.getAlarm_content());
|
mail.run();
|
// taskExecutor.execute(new Mail(u.getEmail(), alarm_content));
|
}else if(notice_type.equals("微信通知")){
|
long time = noticelog.getTime().getTime();
|
WeChat weChat = new WeChat(noticelog.getSensor_level(),noticelog.getSensor(),u.getWeixin(),noticelog.getEquipment_mac(),time);
|
weChat.run();
|
// taskExecutor.execute(new WeChat(sensor_level, sensor.getSensor(), u.getWeixin(), mac, time));
|
}else if(notice_type.equals("短信通知")){
|
String sms_content = smsAndphoneMessage(noticelog);
|
Sms sms = new Sms(noticelog.getEquipment_address(),sms_content,u.getMobile());
|
sms.run();
|
// taskExecutor.execute(new Sms(equipment.getAddress(), sms_content, u.getMobile()));
|
}else if(notice_type.equals("电话通知")){
|
String sms_content = smsAndphoneMessage(noticelog);
|
Phone phone = new Phone(noticelog.getEquipment_address(),sms_content,u.getMobile());
|
phone.run();
|
//taskExecutor.execute(new Phone(equipment.getAddress(), sms_content, u.getMobile()));
|
}
|
|
taskDao.updatenoticelogstate(noticelog.getId());
|
|
}
|
|
|
|
}
|
|
private String smsAndphoneMessage( Noticelog noticelog){
|
HashMap<Integer,String> alarmstate = new HashMap<Integer,String>();
|
alarmstate.put(3,"三级");
|
alarmstate.put(2,"二级");
|
alarmstate.put(1,"一级");
|
String sms_content = noticelog.getSensor() + "" + alarmstate.get(noticelog.getSensor_level()) + "";
|
return sms_content;
|
}
|
}
|