package com.yeshi.fanli.util.taobao;
|
|
import com.yeshi.fanli.exception.config.SMSException;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.fanli.util.TencentSMSUtil;
|
import com.yeshi.fanli.util.email.MailSenderUtil;
|
|
/**
|
* 淘宝报警
|
*
|
* @author Administrator
|
*
|
*/
|
public class TaoBao110Util {
|
|
static long warningStartTime = 0;
|
static int warningCount = 0;
|
static long lastSendWarningMsgTime = 0;
|
static long lastSendRightMsgTime = 0;
|
|
// 淘宝订单爬去告警
|
public static void reportTaoBaoOrderWarning(int code, String msg) {
|
|
// 半个小时以上触发报警
|
if (warningStartTime>0&&System.currentTimeMillis() - warningStartTime > 1000 * 60 * 30L
|
&& (System.currentTimeMillis() - lastSendWarningMsgTime > 1000 * 60 * 30L)) {// 间隔30分钟发送一次
|
|
lastSendWarningMsgTime = System.currentTimeMillis();
|
// 发送短信
|
long continueTime = (System.currentTimeMillis() - warningStartTime) / (1000 * 60L);
|
String smsMsg = String.format("【%s】订单接口告警,%s账号淘宝订单告警,错误码为%s,持续时间为%s分钟,请及时处理!", "告警",
|
Constant.systemCommonConfig.getProjectChineseName(), code + "", "未知");
|
|
// TencentSMSUtil.sendSingleMsg("18581318252", smsMsg);
|
MailSenderUtil.sendEmail("1101184511@qq.com", smsMsg, smsMsg);
|
|
System.out.println("订单接口告警");
|
warningStartTime = 0;
|
warningCount = 0;
|
} else {
|
warningStartTime = System.currentTimeMillis();
|
warningCount++;
|
}
|
}
|
|
// 淘宝订单回复正常
|
public static void rightTaoBaoOrderWarning() {
|
warningStartTime = 0;
|
warningCount = 0;
|
// 有错误发生过
|
if (lastSendWarningMsgTime > 0) {
|
lastSendWarningMsgTime = 0;
|
String smsMsg = String.format("【%s】订单告警恢复,%s账号的淘宝订单接口恢复正常", "恢复",
|
Constant.systemCommonConfig.getProjectChineseName());
|
System.out.println("订单接口回复正常");
|
MailSenderUtil.sendEmail("1101184511@qq.com", smsMsg, smsMsg);
|
}
|
|
}
|
|
}
|