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 alarmstate = new HashMap(); alarmstate.put(3,"三级"); alarmstate.put(2,"二级"); alarmstate.put(1,"一级"); String sms_content = noticelog.getSensor() + "" + alarmstate.get(noticelog.getSensor_level()) + ""; return sms_content; } }