From 03360e5d6c0a31f957ec06956309fc834600fe63 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 27 五月 2019 17:28:14 +0800
Subject: [PATCH] 添加淘宝APPKey使用次数警告,环境配置彻底properties文件化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/monitor/BusinessEmergent110ServiceImpl.java |   51 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/monitor/BusinessEmergent110ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/monitor/BusinessEmergent110ServiceImpl.java
index fb1ae6f..8876640 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/monitor/BusinessEmergent110ServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/monitor/BusinessEmergent110ServiceImpl.java
@@ -9,11 +9,9 @@
 
 import org.springframework.stereotype.Service;
 
-import com.yeshi.fanli.exception.SMSException;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.TencentSMSUtil;
+import com.yeshi.fanli.util.EmergencyUtil;
 
 @Service
 public class BusinessEmergent110ServiceImpl implements BusinessEmergent110Service {
@@ -51,7 +49,8 @@
 		if (!exist)
 			stList.add(identifyCode);
 		if (stList.size() >= limitCount) {// 瑙﹀彂鎶ヨ
-			baoJin(key, "杩斿埄鍒搞�愬垎浜禋銆�");
+			if ("1".equalsIgnoreCase(configService.get("can_send_emergency_msg")))
+				EmergencyUtil.baoJin(key, "杩斿埄鍒搞�愬垎浜禋銆�", phones);
 		}
 	}
 
@@ -80,26 +79,38 @@
 		if (!exist)
 			stList.add(identifyCode);
 		if (stList.size() >= limitCount) {// 瑙﹀彂鎶ヨ
-			baoJin(key, "杩斿埄鍒搞�愰鍒歌繑鍒┿��");
+			if ("1".equalsIgnoreCase(configService.get("can_send_emergency_msg")))
+				EmergencyUtil.baoJin(key, "杩斿埄鍒搞�愰鍒歌繑鍒┿��", phones);
 		}
 	}
 
-	static Map<String, Long> emergentTimeMap = new HashMap<>();
-
-	private void baoJin(String key, String name) {
-		if (emergentTimeMap.get(key) == null || System.currentTimeMillis() - emergentTimeMap.get(key) > 1000 * 60 * 2)// 2鍒嗛挓鎶ヨ涓�娆�
-		{
-			emergentTimeMap.put(key, System.currentTimeMillis());
-			// 鍙戦�佺煭淇�
+	@Override
+	public void taoBaoAPPKeyLimitError(String appKey, String identifyCode) {
+		// 2鍒嗛挓鍐呴敊璇� 3娆¤Е鍙戞姤璀�
+		String key = "monitor-error-tb-app-limit-" + appKey;
+		int timeM = 2;
+		int limitCount = 3;
+		// 5鍒嗛挓鍐呴敊璇� 5娆¤Е鍙戞姤璀�
+		List<String> stList = map.get(key);
+		if (stList == null) {
+			stList = new ArrayList<>();
+			map.put(key, stList);
+		}
+		if (System.currentTimeMillis() - shareTime > 1000 * 60 * timeM) {
+			stList.clear();
+			shareTime = System.currentTimeMillis();
+		}
+		boolean exist = false;
+		for (String code : stList)
+			if (identifyCode.equalsIgnoreCase(code)) {
+				exist = true;
+				break;
+			}
+		if (!exist)
+			stList.add(identifyCode);
+		if (stList.size() >= limitCount) {// 瑙﹀彂鎶ヨ
 			if ("1".equalsIgnoreCase(configService.get("can_send_emergency_msg")))
-				for (String phone : phones) {
-					try {
-						TencentSMSUtil.sendSingleMsg(phone, Constant.smsConfig.getServiceEmergency()
-								.replace("[绛惧悕]", Constant.smsConfig.getSmsSign()).replace("[鏈嶅姟鍚嶅瓧]", name));
-					} catch (SMSException e) {
-						e.printStackTrace();
-					}
-				}
+				EmergencyUtil.baoJin(key, "娣樺疂APPKey璇锋眰闄愬埗銆�" + appKey + "銆�", phones);
 		}
 	}
 

--
Gitblit v1.8.0