From e3a47b0b6bad38f028e5ca1adb4ab0887ac858db Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 22 七月 2019 14:35:40 +0800
Subject: [PATCH] ---
---
ruleserver/timeTicker.go | 72 +++++++++++++++++++++++++++++++++++-
1 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/ruleserver/timeTicker.go b/ruleserver/timeTicker.go
index 7e2cecf..0809fb4 100644
--- a/ruleserver/timeTicker.go
+++ b/ruleserver/timeTicker.go
@@ -3,6 +3,7 @@
import (
"fmt"
"ruleprocess/logger"
+ "strings"
"time"
)
@@ -15,9 +16,9 @@
type TimeElement struct {
N int // 鎸夋椂闂翠緷娆¢�掑噺鐨勫綋鍓嶅��
InitN int // 璧嬪�煎悗灏变笉鍙樼殑鍒濆鍊�
- BufferFlag int // 缂撳啿瀹归敊浣� 杩炵画甯alse鎵嶄负false
+ BufferFlag int // 缂撳啿瀹归敊浣� 杩炵画n甯alse鎵嶄负false
AlarmFlag bool // 鎶ヨ鏍囧織浣� 瀹氭椂鍣ㄥ紑鍚悗绗竴娆℃姤璀︽椂浼氳缃负true 寰�鍚庡啀鏉ユ姤璀︿篃涓嶄細鎻掕繘ES
- CacheSdkData *ResultMsg // 瀹氭椂鍣ㄧ殑缂撳瓨鏁版嵁 鎸佺画鏃堕棿绫荤殑寮�鍚畾鏃跺櫒鏃惰缂撳瓨涓�甯�
+ CacheSdkData ResultMsg // 瀹氭椂鍣ㄧ殑缂撳瓨鏁版嵁 鎸佺画鏃堕棿绫荤殑寮�鍚畾鏃跺櫒鏃惰缂撳瓨涓�甯�
GroupId string // 鑱斿姩瑙勫垯闇�瑕佽褰曚笅姝ゆ椂鐨勮鍒欑粍id
RuleResults []*RuleResult
}
@@ -66,6 +67,73 @@
TimeTicker()
}
+
+// 鍒ゆ柇鏄惁绗﹀悎瀹氭椂鍣ㄦ潯浠�
+func TimerAlarm(args *SdkDatas,groupId string,result bool) (string) {
+ var flagTime string //
+ // 鍒ゆ柇鏈夋棤姝よ鍒欑粍鐨勫畾鏃跺櫒
+ flag := false
+ for k,_ := range TimeEleList {
+ logger.Debug("-----------------鐪嬬湅杩欎釜key鍜実roupId",k,groupId)
+ if strings.Contains(k, groupId) {
+ flag = true
+ }
+ }
+ if flag { // 鏈夊畾鏃跺櫒
+ if result { // 缁撴灉涓虹湡
+ for k, timeEle := range TimeEleList {
+ if strings.Contains(k, groupId) {
+ if timeEle.N == 0 && timeEle.AlarmFlag {
+ logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ")
+ flagTime = "11"
+ args.RuleResult["timeLabel"] = flagTime
+ }
+ if timeEle.N == 0 && !timeEle.AlarmFlag { // 杩欑粍瑙勫垯鐨勫畾鏃跺櫒瑕佸叏閮ㄧ瓑浜�0 鏆備笖璁や负涓�缁勮鍒欏彧鏈変竴涓畾鏃跺櫒
+ logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��-------------棣栨绗﹀悎鎸佺画鏃堕棿瑙勫垯骞舵姤璀�")
+ flagTime = "10"
+ timeEle.AlarmFlag = true
+ args.RuleResult["cacheData"] = timeEle.CacheSdkData
+ args.RuleResult["timeLabel"] = flagTime
+ }
+ if timeEle.N != 0 {
+ flagTime = "00"
+ // 鏈夊畾鏃跺櫒浣嗕笉涓�0鎶婂凡鎵撶殑鏍囩鍒犻櫎
+ args.RuleResult = nil
+ logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒鐨勫�间负锛�",timeEle.N)
+ }
+ }
+ }
+ } else { // 缁撴灉涓哄亣
+ for k, timeEle := range TimeEleList {
+ if strings.Contains(k, groupId) {
+ if timeEle.AlarmFlag {
+ if timeEle.BufferFlag == 0 {
+ logger.Debug("------------------------------鏉�姝诲畾鏃跺櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负",timeEle.N)
+ flagTime = "12"
+ args.RuleResult["timeLabel"] = flagTime
+ delete(TimeEleList,k)
+ } else {
+ if timeEle.BufferFlag > 0 {
+ timeEle.BufferFlag--
+ }
+ }
+ } else {
+ delete(TimeEleList,k)
+ }
+ }
+ }
+
+ }
+ } else { // 鏃犲畾鏃跺櫒
+ if result {
+ flagTime = "01"
+ args.RuleResult["timeLabel"] = flagTime
+ } else {
+ flagTime = "00"
+ }
+ }
+ return flagTime
+}
// 缁撴瀯浣撴牴鎹煇瀛楁鎺掑簭
type SubList []*RuleResult
--
Gitblit v1.8.0