From 0654d8d0f204a79132fed811a127db2e3ee34e1b Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 30 七月 2019 10:15:24 +0800
Subject: [PATCH] 联动任务的arg转为faceresult

---
 ruleserver/ruleToformula.go |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 5780109..1e3307c 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -119,6 +119,7 @@
 		args.RuleResult = make(map[string]interface{})
 		args.RuleResult["yolo"] = []Result{}
 		args.RuleResult["face"] = []FaceResult{}
+		logger.Warn("浼犺繘鍘讳箣鍓嶆槸浠�涔堝痉琛岋細",args.RuleResult["yolo"])
 		if taskGroup != nil && len(taskGroup.GroupRules) > 0 {
 			for _, group := range taskGroup.GroupRules {
 				//logger.Println("------------------------------浠诲姟瑙勫垯锛�",taskRule)
@@ -146,6 +147,7 @@
 		}
 	}()
 	logger.Info("+++++++++++瑙勫垯寮�濮嬭繍琛�+++++++++++++++++褰撳墠澶ц鍒�--锛�", *groupRule)
+	logger.Warn("浼犺繘鍘讳箣鍚庢槸浠�涔堝痉琛岋細",args.RuleResult["yolo"])
 	Compare(args, groupRule)
 	resultSplice := []*LittleRuleResult{}
 	sdkNames := ""
@@ -277,7 +279,7 @@
 			for _, sdkData := range args.Sdkdata {
 				if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData閲屾湁浜鸿劯鏁版嵁涓旈厤缃簡绠楁硶鎵嶆妸绗﹀悎鏉′欢鐨勬暟鎹杩涙爣绛鹃噷鍘�
 					for _, areaMap := range sdkData.AreaMapList {
-						faces = append(faces, putFaceToResult(areaMap)...)
+						faces = append(faces, putFaceToResult(areaMap,faces)...)
 					}
 				}
 			}
@@ -297,7 +299,7 @@
 			logger.Debug("------locations鐨勫唴瀹癸細", locations)
 			if sdkNames != "" {
 				args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId})
-				logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
+				//logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
 			}
 			if faceFlag {
 				args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces})
@@ -337,11 +339,19 @@
 	}
 }
 
-func putFaceToResult(am *AreaMap) []Arg {
+func putFaceToResult(am *AreaMap,faceList []Arg) []Arg {
 	faces := []Arg{}
 	if len(am.filterData) > 0 {
 		for _, data := range am.filterData {
-			faces = append(faces, *data)
+			flag := true
+			for _,face := range faceList  {
+				if data.Location.X == face.Location.X && data.Location.Y == face.Location.Y && data.Location.Width == face.Location.Width && data.Location.Height == face.Location.Height {
+					flag = false
+				}
+			}
+			if flag {
+				faces = append(faces, *data)
+			}
 		}
 	}
 
@@ -427,7 +437,7 @@
 					args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, "", groupRule.GroupId, groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, ""})
 					logger.Info("-------------------yolo缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["yolo"].([]Result)))
 					if args.RuleResult["face"] != nil {
-						logger.Info("-------------------face缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["face"].([]Arg)))
+						logger.Info("-------------------face缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["face"].([]FaceResult)))
 					}
 					//os.Exit(0)
 				}

--
Gitblit v1.8.0