From 7a06bb3e7e47e9b67adfd1fcbe025491819b2970 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期日, 29 九月 2019 14:34:02 +0800
Subject: [PATCH] 人脸也画规则框

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

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index ae1e45a..5160f2a 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -2,7 +2,7 @@
 
 import (
 	"ruleprocess/cache"
-	"ruleprocess/logger"
+	"basic.com/valib/logger.git"
 	"sort"
 	"strconv"
 	"strings"
@@ -116,6 +116,11 @@
 
 // 瀵瑰崟甯у浘鍍忕殑鍒ゆ柇 thisSdkDatas  褰撳墠浼犲叆鐨勮繖甯ф暟鎹紝cacheSdkData 瀹氭椂鍣ㄩ噷缂撳瓨鐨勪竴甯ф暟鎹� 娌℃湁灏辫繑鍥瀗il  (thisSdkDatas SdkDatas, cacheSdkDatas SdkDatas)
 func Judge(args *SdkDatas, message *protomsg.SdkMessage) {
+	defer func() {
+		if err := recover(); err != nil {
+			logger.Error("瑙勫垯妯″潡鍎跨殑寮傚父鎹曡幏锛�",err)
+		}
+	}()
 	if len(args.Sdkdata) > 0 {
 		// 鎷垮埌鏈憚鍍忔満鐨勫尯鍩�
 		cameraPolygons := GetPolygons(args.CameraId)
@@ -200,9 +205,8 @@
 						// 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲� (鍚庡姞锛氭妸姝ゆ潯瑙︾鐨勫尯鍩焛d涔熻褰曚笅鏉�)
 						if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
 							sdkNames = sdkName + ","
-							polygonId = groupRule.Rules[j].PolygonId + ","
 						}
-						if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
+						if strings.Contains(ruleResult.Result, "true") && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
 							polygonId = groupRule.Rules[j].PolygonId + ","
 						}
 						resultSplice = append(resultSplice, &ruleResult)
@@ -575,7 +579,7 @@
 		//logger.Info("瑙勫垯鐨勭畻娉昳d鍜屽尯鍩熺殑绠楁硶id锛�", rule.SdkId, "===", am.sdkId)
 		if rule.PolygonId == am.areaId { // 绠楁硶鍜屽尯鍩熼兘寰楀鐨勪笂
 
-			if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule"{
+			if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule" {
 				if rule.RuleWithPre == "||" {
 					return LittleRuleResult{}
 				} else {
@@ -643,17 +647,15 @@
 						} else {
 							return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort}
 						}
-					} else {
-						return LittleRuleResult{}
 					}
-				} else {
-					return LittleRuleResult{}
+				} else if rule.SdkArgAlias == "" { // 浠�涔堝弬鏁伴兘涓嶉厤鐨勬儏鍐�
+					if am.targetNum > 0 {
+						return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+					} else {
+						return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+					}
 				}
-			} else {
-				return LittleRuleResult{}
 			}
-		} else {
-			return LittleRuleResult{}
 		}
 	} else {
 		// 澶勭悊鐨勯兘鏄痽olo鏁版嵁
@@ -693,14 +695,16 @@
 					return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort}
 				}
 
-			} else {
-				return LittleRuleResult{}
+			} else if rule.SdkArgAlias == "" {
+				if am.targetNum > 0 {
+					return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+				} else {
+					return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+				}
 			}
-
-		} else {
-			return LittleRuleResult{}
 		}
 	}
+	return LittleRuleResult{}
 }
 
 // 濡傛灉鏈夋寔缁椂闂存潯浠剁淮鎶ゅ紑鍚竴涓畾鏃跺櫒
@@ -751,18 +755,6 @@
 			result, _ := expression.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
 			return LittleRuleResult{am.sdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort}
 			// 鍔犱笂鍏充簬绠楁硶鐨勫垽鏂潯浠讹紝涓嶈兘鍙湁鍏充簬瑙勫垯鐨勶紝鏈夌殑绠楁硶鏈韩灏辨槸涓�涓鍒欙紝濡備釜浣撻潤姝紝闈犲彸琛�,鎵�浠ワ紝鎷垮埌褰撳墠瀛愯鍒欑殑sdkid鏉ュ垽鏂槸鍚︽槸閭d簺鐗规畩鐨勮鍒�
-		} else if rule.SdkId == "IsStatic" { // 闈欐绠楁硶
-			if am.isStatic {
-				return LittleRuleResult{}
-			} else {
-				return LittleRuleResult{}
-			}
-		} else if rule.SdkId == "KeepRight" { // 闈犲彸琛岀畻娉�
-			if am.keepRight {
-				return LittleRuleResult{}
-			} else {
-				return LittleRuleResult{}
-			}
 		}
 	}
 	return LittleRuleResult{}

--
Gitblit v1.8.0