admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
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
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);
        }
 
    }
 
}