From f1d50675c06b687063c6a3a03599cbcd597dd663 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 24 七月 2019 13:49:16 +0800
Subject: [PATCH] 变更人脸标签结构

---
 ruleserver/ruleToformula.go |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index fab9874..b8ae4a3 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -89,6 +89,12 @@
 	Location     []Rect // 鐩爣鐨勫潗鏍�
 	AlarmPolygon string // 瑙﹀彂鐨勬姤璀︽
 }
+
+// 杩囪鍒欏簱鎵撲笂鐨勬爣绛�
+type FaceResult struct {
+	Result
+	Args         []Arg
+}
 type LittleRuleResult struct {
 	SdkName string // 璁板綍涓嬫缁撴灉鏄摢涓猻dk鐨勭粨鏋�
 	Result  string // 宸插寘鍚簡鍓嶇疆杩炴帴绗�
@@ -111,7 +117,7 @@
 		// 寰楀埌灞炰簬璇ユ憚鍍忔満鐨勮嫢骞茬粍浠诲姟鐨勫畬鏁磋鍒欙紙璺熸瘡涓�鏉″畬鏁磋鍒欐瘮杈冧箣鍚庡緱鍑烘湰寮犲浘鍍忓浜庢煇涓鍒欐槸鍚︽姤璀︾殑缁撴灉銆傛斁杩沵ap锛屾瘮濡傛湰甯у浘鍍忕殑id锛屾墍纰版挒鎴愬姛鐨勮鍒檌d锛�
 		args.RuleResult = make(map[string]interface{})
 		args.RuleResult["yolo"] = []Result{}
-		args.RuleResult["face"] = []Arg{}
+		args.RuleResult["face"] = []FaceResult{}
 		if taskGroup != nil && len(taskGroup.GroupRules) > 0 {
 			for _, group := range taskGroup.GroupRules {
 				//logger.Println("------------------------------浠诲姟瑙勫垯锛�",taskRule)
@@ -274,9 +280,6 @@
 					}
 				}
 			}
-			if faceFlag {
-				args.RuleResult["face"] = faces
-			}
 			logger.Warn("___________________________________________________________________________缁堜簬璧板畬涓囬噷闀垮緛")
 			// 鎶婁粬浠殑浣嶇疆鏁版嵁涔熶紶涓嬪幓
 			locations := []Rect{}
@@ -292,8 +295,9 @@
 				args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId})
 				logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
 			}
-			if args.RuleResult["face"] != nil {
-				logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]Arg)))
+			if faceFlag {
+				args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces})
+				logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].(FaceResult).Args))
 			}
 			// 鏈�鍚庤繃鎸佺画鏃堕棿绛夋椂闂寸淮搴︾殑鏉′欢   鎶婃椂闂磋鍒欎綅缃皟鏁村埌杩欎釜浣嶇疆鏄负浜嗙紦瀛樻暟鎹�
 			for j := 0; j < len(groupRule.Rules); j++ {
@@ -518,7 +522,6 @@
 		// 澶勭悊鐨勯兘鏄痽olo鏁版嵁
 		if rule.PolygonId == am.areaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
 			if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
-				logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
 				var args []*Arg
 				if rule.RuleWithPre == "&&" {
 					args = am.filterData
@@ -591,8 +594,8 @@
 // 缁欐暟鎹簱鐨勮鍒欒〃杈惧紡浠e弬 args: 涓�鏉″瓙瑙勫垯锛屽尯鍩熸暟鎹�
 func transferParameters(rule *protomsg.Rule, am *AreaMap) LittleRuleResult {
 	if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
-		logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
 		if rule.SdkArgAlias == "objCount" { // 濡傛灉鍙傛暟鏄鍖哄煙鍐呯洰鏍囨暟閲� 鍗硑olo 浜鸿劯涓嶄細鏈夋暟閲�
+			logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
 			//logger.Info("寰楀嚭缁撴灉闃舵", "姣旇緝鐨勮鍒欐槸锛�", rule)
 			if rule.Operator == "" {
 				return LittleRuleResult{am.sdkName, strconv.Itoa(am.targetNum) + "" + rule.RuleWithPre, rule.Sort} // 濡傛灉鍚庨潰涓嶈窡鎿嶄綔绗﹀氨鐩存帴杩斿洖鏁伴噺  姣斿瑕佽窡涓嬩竴涓尯鍩熸瘮杈冩暟閲忕殑灏辩洿鎺ヨ繑鍥炴湰鍖哄煙鐨勬暟閲�
@@ -627,8 +630,7 @@
 }
 func timeRuleResult(rule *protomsg.Rule, am *AreaMap) LittleRuleResult {
 	if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
-		logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
-		if rule.SdkArgAlias == "time_rule" { // 鍒ゆ柇鏄惁绗﹀悎鏃堕棿瑙勫垯
+		if rule.SdkArgAlias == "time_rule" { // 鍒ゆ柇鏄惁绗﹀悎鏃堕棿瑙�
 			logger.Info("----------褰撳墠鏃堕棿瑙勫垯锛�---------", rule)
 			// 鏍规嵁鏀惧�煎瓧娈甸噷瀛樼殑鏃堕棿瑙勫垯鐨刬d鍘诲彟涓�涓〃閲屾煡闇�瑕佹瘮瀵圭殑鏃堕棿娈碉紙姣斿褰撳墠鏃堕棿鏄懆涓夛紝搴旀牴鎹尯鍩焛d鏌ュ嚭鍏跺懆涓夌殑鍑犱釜甯冮槻鏃堕棿娈碉紝鏁扮粍锛�
 			//logger.Info("鏃堕棿瑙勫垯鐨勬祴璇�")

--
Gitblit v1.8.0