工业级运维app手机api
fengxiang
2017-10-31 465d1f03afa058d9ce210f2fc48e5c06ce291a68
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.message;
 
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.domain.BizResult;
import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest;
import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import java.util.Date;
 
/**
 * Created by a on 2017/3/13.
 */
public class Sms implements Runnable {
    private static Logger logger = LoggerFactory.getLogger(Sms.class);
    private String address;
    private String level;
    private String tel;
    public void run() {
        try {
            long ssatime = new Date().getTime();
            message(address, level, tel);
            long esatime = new Date().getTime();
            logger.warn(" 短信报警耗时 " + (esatime - ssatime) + "==========" + Thread.currentThread().getName() + "=========");
        } catch (ApiException e) {
            e.printStackTrace();
            logger.warn("短信报警通知失败 " + e.getMessage());
        }
    }
 
    public static void message(String address, String level, String tel) throws ApiException {
        String url = "http://gw.api.taobao.com/router/rest";
        String appkey = "23784380";/* 企业:23784380  非企业:23531128 */
        String secret = "c728a49aa9dc5bc7697f028d3c92bab3";/* 企业:c728a49aa9dc5bc7697f028d3c92bab3 非企业:b079269785183c5a7520da9b8047bb42  */
        TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
        AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
        req.setExtend("");
        req.setSmsType("normal");
        req.setSmsFreeSignName("七星瓢虫");/*七星博士*/
        //${address}发生警报,警报等级:${level},请马上处理。
        req.setSmsParamString("{address:'" + address + "',level:'" + level + "'}");
        req.setRecNum(tel);
        req.setSmsTemplateCode("SMS_63925645");/* 企业:SMS_63925645   非企: SMS_26240223 */
        AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
        BizResult result = rsp.getResult();
        if (result == null) {
            logger.warn("短信报警通知失败" + rsp.getBody());
            return;
        }
        Boolean success = result.getSuccess();
        if (!success) {
            logger.warn("短信通知失败" + rsp.getBody());
        }
    }
 
    public Sms(String address, String level, String tel) {
        this.address = address;
        this.level = level;
        this.tel = tel;
    }
}