From 8c3063e420502667043e0e1bdb35eef05fbd133b Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 14 十一月 2019 15:11:28 +0800
Subject: [PATCH] 结果标签大改动

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

diff --git a/algorithm/static/static.go b/algorithm/static/static.go
index 9ad097c..f33faf2 100644
--- a/algorithm/static/static.go
+++ b/algorithm/static/static.go
@@ -12,11 +12,14 @@
 
 func Entrance(rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others,args *structure.SdkDatas,message *protomsg.SdkMessage) structure.LittleRuleResult {
 	if rule.PolygonId == am.AreaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
-		logger.Debug("---------璧颁簡浜哄憳寮傚父绠楁硶", rule.Id, rule.SdkArgAlias, rule.Operator, rule.SdkArgValue, am.AreaId)
+		logger.Debug("---------璧颁簡涓綋闈欐绠楁硶", rule.Id, rule.SdkArgAlias, rule.Operator, rule.SdkArgValue, am.AreaId)
 		if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" || rule.SdkArgAlias == "" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
 			return filterRule(rule, am)
 		} else if rule.SdkArgAlias == "duration" {
-			return CompareAndSave(rule,am,lable,args,message)
+
+			lr := CompareAndSave(rule,am,lable,args,message)
+			logger.Info("涓綋闈欐瑙勫垯缁撴灉锛�",lr)
+			return lr
 		} else {
 			return structure.LittleRuleResult{}
 		}
@@ -95,15 +98,22 @@
 }
 // 鍒ゆ柇涓�涓尯鍩熷唴鏈夋病鏈夐潤姝㈢殑鐩爣
 func CompareAndSave(rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others,args *structure.SdkDatas,message *protomsg.SdkMessage) structure.LittleRuleResult {
-	initN := 60
-	if rule.SdkId == "涓綋闈欐" && rule.SdkArgAlias == "duration" {
+	defer func() {
+		if err := recover(); err != nil {
+			logger.Error("涓綋闈欐瑙勫垯鏈夎", err)
+		}
+	}()
+	logger.Info("璧颁簡涓綋闈欐鏍稿績绠楁硶")
+	initN := 5
+	if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && rule.SdkArgAlias == "duration" {
 		if init,err := strconv.Atoi(rule.SdkArgValue); err != nil {
 			logger.Debug("涓綋闈欐绠楁硶璇诲彇鎸佺画鏃堕棿澶辫触",err)
 		} else {
 			initN = init
 		}
 	}
-	if len(structure.StaticMap[am.AreaId].Targets) == 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨
+	if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨
+		logger.Info("涔嬪墠鏃犵紦瀛�")
 		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
 			obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN}
@@ -112,16 +122,23 @@
 		structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
 		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
 	} else {
+		logger.Info("涔嬪墠鏈夌紦瀛�")
 		flag := "false"
 		// 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐
 		tars := []*structure.Arg{}
+		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 {
 				flag = "true"
 				tars = append(tars,arg)
+				logger.Info("闈欐鐨勭洰鏍囷細",arg.Id,arg.Location,arg.Score)
 			}
 		}
+
 		// 鎶婃弧瓒虫潯浠剁殑鐩爣鏀捐繘areaMap涓�
 		am.AlarmObj = tars
 		// 鏇存柊鏁版嵁,鎶婃柊鏉ョ殑鏁版嵁鍐欏叆缂撳瓨
@@ -159,18 +176,20 @@
 
 // 鍒ゆ柇涓�涓洰鏍囨槸鍚﹂潤姝簡鎸囧畾鏃堕棿
 func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){
+	logger.Info("鍗曚釜鐩爣鐨勫垽鏂細")
 	flag := false
 	var o *structure.Arg = nil
 	for _, obj := range am.FilterData {
 		if person.Id == obj.Id {
 			coincidenceDegree := PgsInterPercent(Rect2Point(person.Location), obj.Location, 1, 1)
+			logger.Info("鍒ゆ柇鐩爣鐨勯噸鍚堝害",coincidenceDegree)
 			o = obj
 			if coincidenceDegree >= argValue {
 				flag = true
 			}
 		}
 	}
-	if flag { // 鏈変竴涓璞′繚鎸侀潤姝紙id鐩哥瓑骞朵笖閲嶅悎搴﹂珮浜庨槇鍊硷級
+	if flag { // 褰撳墠妫�娴嬪璞′繚鎸侀潤姝紙id鐩哥瓑骞朵笖閲嶅悎搴﹂珮浜庨槇鍊硷級
 		flagTime := TimerAlarm(lable,person,flag,am.AreaId)
 		if flagTime == "10" || flagTime == "11" {
 			return flag,o
@@ -186,7 +205,7 @@
 // 鍒ゆ柇鏄惁绗﹀悎瀹氭椂鍣ㄦ潯浠�
 func TimerAlarm(oth *structure.Others,person *structure.Obj, result bool,areaId string) (string) {
 	var flagTime string //
-
+	logger.Info("鐩爣鐨勫畾鏃跺櫒锛�")
 	rw.Lock()
 
 		if result { // 缁撴灉涓虹湡

--
Gitblit v1.8.0