From 32abe72b2cba9b8a7f1e407ac25d181118157f8a Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期六, 16 十一月 2019 10:14:40 +0800
Subject: [PATCH] 把非首次报警的也带上缓存

---
 algorithm/static/static.go |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/algorithm/static/static.go b/algorithm/static/static.go
index cd205fb..4a0c4b4 100644
--- a/algorithm/static/static.go
+++ b/algorithm/static/static.go
@@ -112,14 +112,22 @@
 			initN = init
 		}
 	}
-	if (structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0) && len(am.FilterData) > 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨
+	if len(am.FilterData) < 0 {
+		logger.Info("鏈抚鍖哄煙鍐呮棤鏁版嵁锛岃繑鍥�")
+		// 娓呯┖缂撳瓨鐨勭洰鏍�
+
+		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+	}
+	m := make(map[string]interface{})
+	m["target"] = []structure.Result{}
+	m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
+
+	if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 {
 		logger.Info("涔嬪墠鏃犵紦瀛樺苟涓旀娆″尯鍩熷唴鏈変汉")
-		m := make(map[string]interface{})
-		m["target"] = []structure.Result{}
-		m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
+
 		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
-			obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,CacheSdkData:structure.ResultMsg{message, m}}
+			obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN, AlarmFlag: false, BufferFlag: 10, CacheSdkData:structure.ResultMsg{message, m}}
 			objs = append(objs, obj)
 		}
 		structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
@@ -129,10 +137,10 @@
 		flag := "false"
 		// 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐
 		tars := []*structure.Arg{}
-		logger.Info("鐪嬩竴涓嬮潤姝㈠尯鍩熷唴鐨勭洰鏍囷細",am.AreaId)
-		for _, tar := range structure.StaticMap[am.AreaId].Targets {
-			logger.Info("鍏蜂綋鐩爣锛�",tar.Location)
-		}
+		//logger.Info("鐪嬩竴涓嬮潤姝㈠尯鍩熷唴鐨勭洰鏍囷細",am.AreaId)
+		//for _, tar := range structure.StaticMap[am.AreaId].Targets {
+		//	logger.Info("鍏蜂綋鐩爣锛�",tar.Location)
+		//}
 		for _, tar := range structure.StaticMap[am.AreaId].Targets {
 			singleResult,arg := SingleStatic(tar,am,lable,90)
 			if singleResult {
@@ -145,7 +153,6 @@
 		// 鎶婃弧瓒虫潯浠剁殑鐩爣鏀捐繘areaMap涓�
 		am.AlarmObj = tars
 		// 鏇存柊鏁版嵁,鎶婃柊鏉ョ殑鏁版嵁鍐欏叆缂撳瓨
-		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
 			flag1 := false
 			for _, OBJ := range structure.StaticMap[am.AreaId].Targets {
@@ -154,11 +161,10 @@
 				}
 			}
 			if !flag1 { // 闆嗗悎涓病鏈夌殑鎵嶆彃鍏�
-				obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, nil}}
-				objs = append(objs, obj)
+				obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}}
+				structure.StaticMap[am.AreaId].Targets = append(structure.StaticMap[am.AreaId].Targets, obj)
 			}
 		}
-		structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
 		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
 	}
 }
@@ -217,6 +223,7 @@
 					if tar.N == 0 && tar.AlarmFlag {
 						logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ")
 						flagTime = "11"
+						o.CacheData = tar.CacheSdkData
 					}
 					if tar.N == 0 && !tar.AlarmFlag { // 杩欑粍瑙勫垯鐨勫畾鏃跺櫒瑕佸叏閮ㄧ瓑浜�0   鏆備笖璁や负涓�缁勮鍒欏彧鏈変竴涓畾鏃跺櫒
 						logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��-------------棣栨绗﹀悎鎸佺画鏃堕棿瑙勫垯骞舵姤璀�")

--
Gitblit v1.8.0