工业级运维app手机api
沈斌
2017-11-15 a93eae62e20f3c8c94166021581161379e8c1947
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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;
    }
}