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

---
 ruleserver/ruleToformula.go |   60 +++++++++++++++++++++++++++---------------------------------
 1 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index c96892c..e754da2 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -36,8 +36,8 @@
 		// 寰楀埌灞炰簬璇ユ憚鍍忔満鐨勮嫢骞茬粍浠诲姟鐨勫畬鏁磋鍒欙紙璺熸瘡涓�鏉″畬鏁磋鍒欐瘮杈冧箣鍚庡緱鍑烘湰寮犲浘鍍忓浜庢煇涓鍒欐槸鍚︽姤璀︾殑缁撴灉銆傛斁杩沵ap锛屾瘮濡傛湰甯у浘鍍忕殑id锛屾墍纰版挒鎴愬姛鐨勮鍒檌d锛�
 		args.RuleResult = make(map[string]interface{})
 		args.RuleResult["yolo"] = []structure.Result{}
-		args.RuleResult["face"] = []structure.TargetResult{}
-		args.RuleResult["target"] = []structure.TargetResult{}
+		args.RuleResult["face"] = []structure.Result{}
+		args.RuleResult["target"] = []structure.Result{}
 		//logger.Warn("浼犺繘鍘讳箣鍓嶆槸浠�涔堝痉琛岋細",args.RuleResult["yolo"])
 		if taskGroup != nil && len(taskGroup.GroupRules) > 0 {
 			// 鍏堣繃鐙珛锛屽啀杩囪仈鍔�
@@ -141,7 +141,7 @@
 			// 鎵撲汉鑴告爣绛惧拰yolo鏍囩
 			// 鏈�鍚庢垚鍔熸姤璀︽墠鎶婄鍚堟潯浠剁殑浜鸿劯鏁版嵁濉炶繘缁撴灉鏍囩閲�
 			// 閰嶄簡浜鸿劯鐨勭畻娉曟墠鎶婁汉鑴哥殑鏁版嵁鐢╁嚭鏉ユ墦鏍囩
-			faces := []structure.Arg{}
+			faces := []*structure.Arg{}
 			faceFlag := false
 			for j := 0; j < len(groupRule.Rules); j++ {
 				if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" || groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
@@ -163,17 +163,17 @@
 			//}
 			logger.Warn("___________________________________________________________________________缁堜簬璧板畬涓囬噷闀垮緛")
 			// 鎶婁粬浠殑浣嶇疆鏁版嵁涔熶紶涓嬪幓
-			locations := []structure.TargetInfo{}
+			yolos := []*structure.Arg{}
 			for _, sdkData := range args.Sdkdata {
 				if sdkData.IpcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && sdkNames != "" { // 鎶妝olo鏁版嵁鐨勫悇涓洰鏍囩殑鍧愭爣杈撳嚭鏂逛究鍚庨潰鐢绘
 					for _, areaMap := range sdkData.AreaMapList {
 						if areaMap.IsEffective {
-							locations = append(locations, putYolosToResult(areaMap)...)
+							yolos = append(yolos, putYolosToResult(areaMap)...)
 						}
 					}
 				}
 			}
-			logger.Debug("------locations鐨勫唴瀹癸細", locations)
+			logger.Debug("------locations鐨勫唴瀹癸細", yolos)
 			var islink bool
 			if groupRule.SetType == "linkTask" {
 				islink = true
@@ -182,12 +182,12 @@
 			}
 			var labelTypes []int // 0涓簓olo鏍囩锛�1涓篺ace鏍囩 2涓轰袱鑰呮爣绛�
 			if sdkNames != "" {
-				args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId, islink,label})
+				args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, yolos, polygonId, islink,label})
 				labelTypes = append(labelTypes,0)
 				//logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
 			}
 			if faceFlag {
-				args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.TargetResult), structure.TargetResult{structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, []structure.TargetInfo{}, polygonId, islink,label}, faces})
+				args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, faces, polygonId, islink,label})
 				//logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
 				labelTypes = append(labelTypes,1)
 			}
@@ -202,9 +202,9 @@
 						}
 					}
 					if k == "face" {
-						tempMap[k] = []structure.TargetResult{}
-						for _, res := range result.([]structure.TargetResult) {
-							tempMap[k] = append(tempMap[k].([]structure.TargetResult), res)
+						tempMap[k] = []structure.Result{}
+						for _, res := range result.([]structure.Result) {
+							tempMap[k] = append(tempMap[k].([]structure.Result), res)
 						}
 					}
 				}
@@ -226,8 +226,8 @@
 	}
 }
 
-func putFaceToResult(am *structure.AreaMap, faceList []structure.Arg) []structure.Arg {
-	faces := []structure.Arg{}
+func putFaceToResult(am *structure.AreaMap, faceList []*structure.Arg) []*structure.Arg {
+	faces := []*structure.Arg{}
 	if len(am.FilterData) > 0 {
 		for _, data := range am.FilterData {
 			flag := true
@@ -237,7 +237,7 @@
 				}
 			}
 			if flag {
-				faces = append(faces, *data)
+				faces = append(faces, data)
 			}
 		}
 	}
@@ -245,16 +245,10 @@
 	return faces
 }
 
-func putYolosToResult(am *structure.AreaMap) []structure.TargetInfo {
-	locations := []structure.TargetInfo{}
+func putYolosToResult(am *structure.AreaMap) []*structure.Arg {
+	locations := []*structure.Arg{}
 	if len(am.FilterData) > 0 {
-		for _, data := range am.FilterData {
-			location := structure.TargetInfo{}
-			location.Rect = data.Location
-			location.TargetId = data.Id
-			location.TargetScore = data.Score
-			locations = append(locations, location)
-		}
+		locations = am.FilterData
 	}
 	//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)
 	return locations
@@ -315,9 +309,9 @@
 						}
 					}
 					if k == "face" {
-						tempMap[k] = []structure.TargetResult{}
-						for _, res := range result.([]structure.TargetResult) {
-							tempMap[k] = append(tempMap[k].([]structure.TargetResult), res)
+						tempMap[k] = []structure.Result{}
+						for _, res := range result.([]structure.Result) {
+							tempMap[k] = append(tempMap[k].([]structure.Result), res)
 						}
 					}
 				}
@@ -361,9 +355,9 @@
 								args.RuleResult["yolo"].([]structure.Result)[i].Others.LinkCache = label.LinkCache
 							}
 						}
-						for i := 0; i < len(args.RuleResult["face"].([]structure.TargetResult)); i++ {
-							if args.RuleResult["face"].([]structure.TargetResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
-								args.RuleResult["face"].([]structure.TargetResult)[i].Others.LinkCache = label.LinkCache
+						for i := 0; i < len(args.RuleResult["face"].([]structure.Result)); i++ {
+							if args.RuleResult["face"].([]structure.Result)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
+								args.RuleResult["face"].([]structure.Result)[i].Others.LinkCache = label.LinkCache
 							}
 						}
 					}
@@ -381,9 +375,9 @@
 					}
 				}
 				if val == 1 {
-					if len(args.RuleResult["face"].([]structure.TargetResult)) >= 1 {
-						lens := len(args.RuleResult["face"].([]structure.TargetResult))-1
-						args.RuleResult["face"] = args.RuleResult["face"].([]structure.TargetResult)[0:lens]
+					if len(args.RuleResult["face"].([]structure.Result)) >= 1 {
+						lens := len(args.RuleResult["face"].([]structure.Result))-1
+						args.RuleResult["face"] = args.RuleResult["face"].([]structure.Result)[0:lens]
 					}
 				}
 			}
@@ -412,7 +406,7 @@
 func duration(rule *protomsg.Rule, groupId string, am *structure.AreaMap, args *structure.SdkDatas, message *protomsg.SdkMessage) string{
 	cacheId := ""
 	if rule.PolygonId == am.AreaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�  閰嶇疆鐨勭畻娉曡瀵圭殑涓�
-		if rule.SdkArgAlias == "duration" { //
+		if rule.SdkArgAlias == "duration" && rule.SdkId != "812b674b-2375-4589-919a-5c1c3278a977"{ // 鎺掗櫎瀵圭敾闈腑鍗曚釜鐩爣鐨勭畻娉曪紝涓綋闈欐浠ュ強闈犲彸琛岃繖绉�
 			//logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
 			// 鍏堢湅鐪嬪畾鏃跺櫒鍏冪礌闃熷垪涓槸鍚︽湁杩欐潯瑙勫垯鐨勫畾鏃跺櫒,濡傛灉鏈夊氨涓嶈兘鍐嶆鍒涘缓浜�
 			rw.Lock()

--
Gitblit v1.8.0