From cbaf5704914c0f51a80ebe8220bdb5bad7c64d03 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 06 八月 2019 17:53:22 +0800
Subject: [PATCH] ---
---
ruleserver/timeTicker.go | 61 +++++++++++++++---------------
1 files changed, 31 insertions(+), 30 deletions(-)
diff --git a/ruleserver/timeTicker.go b/ruleserver/timeTicker.go
index 0809fb4..e6219ed 100644
--- a/ruleserver/timeTicker.go
+++ b/ruleserver/timeTicker.go
@@ -14,20 +14,21 @@
// 瀹氭椂鍣ㄥ厓绱�
type TimeElement struct {
- N int // 鎸夋椂闂翠緷娆¢�掑噺鐨勫綋鍓嶅��
- InitN int // 璧嬪�煎悗灏变笉鍙樼殑鍒濆鍊�
- BufferFlag int // 缂撳啿瀹归敊浣� 杩炵画n甯alse鎵嶄负false
- AlarmFlag bool // 鎶ヨ鏍囧織浣� 瀹氭椂鍣ㄥ紑鍚悗绗竴娆℃姤璀︽椂浼氳缃负true 寰�鍚庡啀鏉ユ姤璀︿篃涓嶄細鎻掕繘ES
+ N int // 鎸夋椂闂翠緷娆¢�掑噺鐨勫綋鍓嶅��
+ InitN int // 璧嬪�煎悗灏变笉鍙樼殑鍒濆鍊�
+ BufferFlag int // 缂撳啿瀹归敊浣� 杩炵画n甯alse鎵嶄负false
+ AlarmFlag bool // 鎶ヨ鏍囧織浣� 瀹氭椂鍣ㄥ紑鍚悗绗竴娆℃姤璀︽椂浼氳缃负true 寰�鍚庡啀鏉ユ姤璀︿篃涓嶄細鎻掕繘ES
CacheSdkData ResultMsg // 瀹氭椂鍣ㄧ殑缂撳瓨鏁版嵁 鎸佺画鏃堕棿绫荤殑寮�鍚畾鏃跺櫒鏃惰缂撳瓨涓�甯�
- GroupId string // 鑱斿姩瑙勫垯闇�瑕佽褰曚笅姝ゆ椂鐨勮鍒欑粍id
+ GroupId string // 鑱斿姩瑙勫垯闇�瑕佽褰曚笅姝ゆ椂鐨勮鍒欑粍id
RuleResults []*RuleResult
}
type RuleResult struct {
// 姣忎釜鎽勫儚鏈轰竴涓粨鏋勪綋
- CameraId string // 鎽勫儚鏈篿d
- Sort int32 // 鎽勫儚鏈哄湪瑙勫垯缁勪腑搴忓彿
- Result string // 鎽勫儚鏈鸿繃婊ゆ暟鎹緱鍑虹殑缁撴灉
- RuleWithPre string // 鎽勫儚鏈轰箣闂寸殑杩炴帴绗�
+ CameraId string // 鎽勫儚鏈篿d
+ Sort int32 // 鎽勫儚鏈哄湪瑙勫垯缁勪腑搴忓彿
+ Result string // 鎽勫儚鏈鸿繃婊ゆ暟鎹緱鍑虹殑缁撴灉
+ RuleWithPre string // 鎽勫儚鏈轰箣闂寸殑杩炴帴绗�
+ CacheData ResultMsg // 缂撳瓨褰撳墠甯ф暟鎹�
}
func TimeTicker() {
@@ -45,7 +46,7 @@
for k, timeEle := range TimeEleList {
if timeEle.N > 0 {
timeEle.N = timeEle.N - 1
- logger.Error("-------------------------------------鎵撳嵃瀹氭椂鍣ㄥ厓绱犲綋鍓嶅��-----------------------------------------锛�", timeEle.N)
+ logger.Error("-------------------------------------鎵撳嵃瀹氭椂鍣ㄨ鏁板厓绱犲綋鍓嶅��-----------------------------------------锛�", timeEle.N)
}
if timeEle.GroupId != "" && timeEle.N == 0 {
// 璇存槑鏄仈鍔ㄤ换鍔$殑鏃堕棿绐楀彛 鍒扮偣鍎夸簡璇ラ攢姣佷簡,鍐嶆潵浜嗗啀鍒涘缓
@@ -67,73 +68,73 @@
TimeTicker()
}
-
// 鍒ゆ柇鏄惁绗﹀悎瀹氭椂鍣ㄦ潯浠�
-func TimerAlarm(args *SdkDatas,groupId string,result bool) (string) {
- var flagTime string //
+func TimerAlarm(oth *Others, 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) {
+ for k, _ := range TimeEleList {
+ //logger.Debug("-----------------鐪嬬湅杩欎釜key鍜実roupId", k, groupId)
+ if strings.Contains(k, groupId) && k != groupId{
flag = true
}
}
- if flag { // 鏈夊畾鏃跺櫒
+ if flag { // 鏈夊畾鏃跺櫒
if result { // 缁撴灉涓虹湡
for k, timeEle := range TimeEleList {
- if strings.Contains(k, groupId) {
+ if strings.Contains(k, groupId) && k != groupId{
if timeEle.N == 0 && timeEle.AlarmFlag {
logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ")
flagTime = "11"
- args.RuleResult["timeLabel"] = flagTime
+ oth.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
+ oth.CacheData = []ResultMsg{}
+ oth.CacheData = append(oth.CacheData,timeEle.CacheSdkData)
+ oth.TimeLabel = flagTime
}
if timeEle.N != 0 {
flagTime = "00"
// 鏈夊畾鏃跺櫒浣嗕笉涓�0鎶婂凡鎵撶殑鏍囩鍒犻櫎
- args.RuleResult = nil
- logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒鐨勫�间负锛�",timeEle.N)
+ // args.RuleResult = nil
+ logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒", k, "鐨勫�间负锛�", timeEle.N)
}
}
}
} else { // 缁撴灉涓哄亣
for k, timeEle := range TimeEleList {
- if strings.Contains(k, groupId) {
+ if strings.Contains(k, groupId) && k != groupId{
if timeEle.AlarmFlag {
if timeEle.BufferFlag == 0 {
- logger.Debug("------------------------------鏉�姝诲畾鏃跺櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负",timeEle.N)
+ logger.Debug("------------------------------鏉�姝诲畾鏃跺櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负", timeEle.N)
flagTime = "12"
- args.RuleResult["timeLabel"] = flagTime
- delete(TimeEleList,k)
+ oth.TimeLabel = flagTime
+ delete(TimeEleList, k)
} else {
if timeEle.BufferFlag > 0 {
timeEle.BufferFlag--
}
}
} else {
- delete(TimeEleList,k)
+ delete(TimeEleList, k)
}
}
}
-
}
} else { // 鏃犲畾鏃跺櫒
if result {
flagTime = "01"
- args.RuleResult["timeLabel"] = flagTime
+ oth.TimeLabel = flagTime
} else {
flagTime = "00"
}
}
return flagTime
}
+
// 缁撴瀯浣撴牴鎹煇瀛楁鎺掑簭
type SubList []*RuleResult
--
Gitblit v1.8.0