From 3ff1af612ee690063dceb5aa9a6e9791e6d9a943 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 17 十二月 2019 11:41:15 +0800
Subject: [PATCH] ---

---
 algorithm/static/static.go |   44 +++++++++++++++++++++++---------------------
 1 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/algorithm/static/static.go b/algorithm/static/static.go
index 4a0c4b4..ce26988 100644
--- a/algorithm/static/static.go
+++ b/algorithm/static/static.go
@@ -45,13 +45,13 @@
 			var formula string
 			if rule.SdkArgAlias == "score" {
 				formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
-				logger.Info("褰撳墠鐩镐技搴﹀皬鍏紡锛�", formula)
+				//logger.Info("褰撳墠鐩镐技搴﹀皬鍏紡锛�", formula)
 			} else if rule.SdkArgAlias == "proportion" {
 				formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
-				logger.Info("褰撳墠鍗犳瘮灏忓叕寮忥細", formula)
+				//logger.Info("褰撳墠鍗犳瘮灏忓叕寮忥細", formula)
 			} else {
 				formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
-				logger.Info("褰撳墠灏哄灏忓叕寮忥細", formula)
+				//logger.Info("褰撳墠灏哄灏忓叕寮忥細", formula)
 			}
 			expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
 			result, _ := expression.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
@@ -61,16 +61,16 @@
 		}
 		am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
 		if am.TargetNum > 0 {
-			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
 		} else {
-			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
 		}
 
 	} else if rule.SdkArgAlias == "" {
 		if am.TargetNum > 0 {
-			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
 		} else {
-			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+			return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
 		}
 	}
 	return structure.LittleRuleResult{}
@@ -103,7 +103,7 @@
 			logger.Error("涓綋闈欐瑙勫垯鏈夎", err)
 		}
 	}()
-	logger.Info("璧颁簡涓綋闈欐鏍稿績绠楁硶")
+	//logger.Info("璧颁簡涓綋闈欐鏍稿績绠楁硶")
 	initN := 5
 	if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && rule.SdkArgAlias == "duration" {
 		if init,err := strconv.Atoi(rule.SdkArgValue); err != nil {
@@ -116,14 +116,14 @@
 		logger.Info("鏈抚鍖哄煙鍐呮棤鏁版嵁锛岃繑鍥�")
 		// 娓呯┖缂撳瓨鐨勭洰鏍�
 
-		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
 	}
 	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("涔嬪墠鏃犵紦瀛樺苟涓旀娆″尯鍩熷唴鏈変汉")
+		//logger.Info("涔嬪墠鏃犵紦瀛樺苟涓旀娆″尯鍩熷唴鏈変汉")
 
 		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
@@ -131,9 +131,9 @@
 			objs = append(objs, obj)
 		}
 		structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
-		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
 	} else {
-		logger.Info("涔嬪墠鏈夌紦瀛�")
+		//logger.Info("涔嬪墠鏈夌紦瀛�")
 		flag := "false"
 		// 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐
 		tars := []*structure.Arg{}
@@ -142,11 +142,11 @@
 		//	logger.Info("鍏蜂綋鐩爣锛�",tar.Location)
 		//}
 		for _, tar := range structure.StaticMap[am.AreaId].Targets {
-			singleResult,arg := SingleStatic(tar,am,lable,90)
+			singleResult,arg := SingleStatic(tar,am,lable,95)
 			if singleResult {
 				flag = "true"
 				tars = append(tars,arg)
-				logger.Info("闈欐鐨勭洰鏍囷細",arg.Id,arg.Location,arg.Score)
+				//logger.Info("闈欐鐨勭洰鏍囷細",arg.Id,arg.Location,arg.Score)
 			}
 		}
 
@@ -165,7 +165,7 @@
 				structure.StaticMap[am.AreaId].Targets = append(structure.StaticMap[am.AreaId].Targets, obj)
 			}
 		}
-		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
+		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort,am.FilterData}
 	}
 }
 
@@ -185,7 +185,7 @@
 
 // 鍒ゆ柇涓�涓洰鏍囨槸鍚﹂潤姝簡鎸囧畾鏃堕棿
 func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){
-	logger.Info("鍗曚釜鐩爣鐨勫垽鏂細")
+	//logger.Info("鍗曚釜鐩爣鐨勫垽鏂細")
 	flag := false
 	var o *structure.Arg = nil
 	for _, obj := range am.FilterData {
@@ -218,24 +218,26 @@
 	rw.Lock()
 
 		if result { // 缁撴灉涓虹湡
-			for k, tar := range structure.StaticMap[areaId].Targets {
+			for _, tar := range structure.StaticMap[areaId].Targets {
 				if tar.Id == person.Id {
 					if tar.N == 0 && tar.AlarmFlag {
-						logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ")
+						//logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ")
 						flagTime = "11"
+						o.TimeLable = flagTime
 						o.CacheData = tar.CacheSdkData
 					}
 					if tar.N == 0 && !tar.AlarmFlag { // 杩欑粍瑙勫垯鐨勫畾鏃跺櫒瑕佸叏閮ㄧ瓑浜�0   鏆備笖璁や负涓�缁勮鍒欏彧鏈変竴涓畾鏃跺櫒
 						logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��-------------棣栨绗﹀悎鎸佺画鏃堕棿瑙勫垯骞舵姤璀�")
 						flagTime = "10"
 						tar.AlarmFlag = true
+						o.TimeLable = flagTime
 						o.CacheData = tar.CacheSdkData
 					}
 					if tar.N != 0 {
 						flagTime = "00"
 						// 鏈夊畾鏃跺櫒浣嗕笉涓�0鎶婂凡鎵撶殑鏍囩鍒犻櫎
 						// args.RuleResult = nil
-						logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒", k, "鐨勫�间负锛�", tar.N)
+						//logger.Debug("------------------------缁撴灉涓虹湡浣嗚鏁板櫒涓嶅埌0锛屼笉鎶ヨ,姝ゆ椂鐨勮鏁板櫒", k, "鐨勫�间负锛�", tar.N)
 					}
 				}
 			}
@@ -244,7 +246,7 @@
 				if tar.Id == person.Id {
 					if tar.AlarmFlag {
 						if tar.BufferFlag == 0 {
-							logger.Debug("------------------------------鏉�姝昏鏁板櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负", tar.N)
+							//logger.Debug("------------------------------鏉�姝昏鏁板櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负", tar.N)
 							flagTime = "12"
 							structure.StaticMap[areaId].Targets = append(structure.StaticMap[areaId].Targets[:index],structure.StaticMap[areaId].Targets[index+1:]...)
 						} else {
@@ -254,7 +256,7 @@
 							}
 						}
 					} else {
-						logger.Debug("-----------缁撴灉涓哄亣涓斾笉鍒�0锛屾潃姝诲畾鏃跺櫒")
+						//logger.Debug("-----------缁撴灉涓哄亣涓斾笉鍒�0锛屾潃姝诲畾鏃跺櫒")
 						structure.StaticMap[areaId].Targets = append(structure.StaticMap[areaId].Targets[:index],structure.StaticMap[areaId].Targets[index+1:]...)
 					}
 				}

--
Gitblit v1.8.0