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;
|
}
|
}
|