admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBao110Util.java
@@ -1,61 +1,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);
      }
   }
}
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);
      }
   }
}