From b18beafcaaa2e2086610f22079842b2e5af6e283 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 01 八月 2019 14:41:38 +0800
Subject: [PATCH] 联动规则稳定版

---
 ruleserver/ruleToformula.go |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index e4f98c0..e8c0fbc 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -270,9 +270,9 @@
 			completeFormula = completeFormula[1:]
 		}
 		logger.Info("-------------------鐪嬬湅鎷旀瘺鍚庣殑琛ㄨ揪寮忥細", completeFormula)
-		expression, _ := govaluate.NewEvaluableExpression(completeFormula)
-		result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
-		return result.(bool)
+		//expression, _ := govaluate.NewEvaluableExpression(completeFormula)
+		//result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
+		//return result.(bool)
 	}
 	if completeFormula != "" {
 		logger.Info("缁撴灉鍏紡-----------锛�", completeFormula)
@@ -429,10 +429,18 @@
 				va.Result = strconv.FormatBool(isOk)
 				tempMap := make(map[string]interface{})
 				for k,result := range args.RuleResult {
-					tempMap[k] = result
-				}
-				for _,result := range args.RuleResult["yolo"].([]Result)  {
-					logger.Warn("鏀捐繘鑱斿姩缂撳瓨鐨勯暱搴︽槸",len(result.LinkCache))
+					if k == "yolo" {
+						tempMap[k] = []Result{}
+						for _,res := range result.([]Result) {
+							tempMap[k] = append(tempMap[k].([]Result),res)
+						}
+					}
+					if k == "face" {
+						tempMap[k] = []FaceResult{}
+						for _,res := range result.([]FaceResult) {
+							tempMap[k] = append(tempMap[k].([]FaceResult),res)
+						}
+					}
 				}
 				va.CacheData = ResultMsg{message,tempMap}
 				logger.Info("杩欎釜鎽勫儚鏈�--", args.CameraId, "--琚祴浜堜簡result", va.Result)
@@ -467,16 +475,16 @@
 						label.LinkCache = append(label.LinkCache,ruleRes.CacheData)
 					}
 					logger.Debug("鑱斿姩浠诲姟缂撳瓨浜嗗嚑涓暟鎹�",len(label.LinkCache))
-					//for _,result := range args.RuleResult["yolo"].([]Result) {
-					//	if result.RuleGroupId == groupRule.GroupId {
-					//		result.Others["linkCache"] = label
-					//	}
-					//}
 					for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++  {
-						if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 鎶婂師鏉ラ偅涓垹鎺夊啀瀛樹竴浠芥柊鐨�
+						if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
 							args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
 						}
 					}
+					for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++  {
+						if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
+							args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
+						}
+					}
 				}
 			}
 		} else {

--
Gitblit v1.8.0