From 09417e97672be66c5e312b10f23a9e30da3acb97 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@MS-20170306HGUF>
Date: 星期一, 24 二月 2020 15:23:08 +0800
Subject: [PATCH] 热销转换发圈
---
fanli/src/main/java/com/yeshi/fanli/service/impl/monitor/BusinessEmergent110ServiceImpl.java | 63 ++++++++++++++++++++-----------
1 files changed, 41 insertions(+), 22 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..2b2f963 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,16 +9,16 @@
import org.springframework.stereotype.Service;
-import com.yeshi.fanli.exception.SMSException;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
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;
+import com.yeshi.fanli.util.StringUtil;
@Service
public class BusinessEmergent110ServiceImpl implements BusinessEmergent110Service {
- String[] phones = new String[] { "18581318252", "15025351808", "18696787365" };
+ String[] phones = new String[] { "18581318252", "15025351808" };
private static Map<String, List<String>> map = new HashMap<>();
private static long shareTime = 0L;
@@ -51,7 +51,8 @@
if (!exist)
stList.add(identifyCode);
if (stList.size() >= limitCount) {// 瑙﹀彂鎶ヨ
- baoJin(key, "杩斿埄鍒搞�愬垎浜禋銆�");
+ if ("1".equalsIgnoreCase(configService.get(ConfigKeyEnum.canSendEmergencyMsg.getKey())))
+ EmergencyUtil.baoJin(key, "鏉挎牀蹇渷銆愬垎浜禋銆�", phones);
}
}
@@ -80,27 +81,45 @@
if (!exist)
stList.add(identifyCode);
if (stList.size() >= limitCount) {// 瑙﹀彂鎶ヨ
- baoJin(key, "杩斿埄鍒搞�愰鍒歌繑鍒┿��");
+ if ("1".equalsIgnoreCase(configService.get(ConfigKeyEnum.canSendEmergencyMsg.getKey())))
+ 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());
- // 鍙戦�佺煭淇�
- 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();
- }
- }
+ @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(ConfigKeyEnum.canSendEmergencyMsg.getKey())))
+ EmergencyUtil.baoJin(key, "娣樺疂APPKey璇锋眰闄愬埗銆�" + appKey + "銆�", phones);
+ }
+ }
+
+ @Override
+ public void tljNoMoney(String account) {
+ String key = "monitor-error-tlj-no-money-" + StringUtil.Md5(account);
+ EmergencyUtil.baoJin(key, String.format("娣樼ぜ閲戣处鎴蜂綑棰濅笉瓒炽�愯处鍙�:%s銆�", account), phones);
}
}
--
Gitblit v1.8.0