From 51cb803dc3e8e9a98527190f531e6ef9eb2b3616 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 19 八月 2019 17:55:45 +0800
Subject: [PATCH] 对于或规则的一些改进
---
labelFilter/ruleForLabel.go | 28 ++++++++++++++++++----------
1 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/labelFilter/ruleForLabel.go b/labelFilter/ruleForLabel.go
index 1adf9ce..df28b40 100644
--- a/labelFilter/ruleForLabel.go
+++ b/labelFilter/ruleForLabel.go
@@ -45,19 +45,19 @@
for _, rule := range ruleGroup.Rules {
// 杩囨瘡涓�涓皬瑙勫垯
if rule.TopicType == "camera" {
- result = Connector + cameraJudge(label, rule)
+ result += Connector + cameraJudge(label, rule)
}
if rule.TopicType == "dbtable" {
- result = Connector + baseJudge(label, rule)
+ result += Connector + baseJudge(label, rule)
}
if rule.TopicType == "task" {
- result = Connector + taskJudge(label, rule)
+ result += Connector + taskJudge(label, rule)
}
if rule.TopicType == "person" {
- result = Connector + taskJudge(label, rule)
+ result += Connector + taskJudge(label, rule)
}
if rule.TopicType == "alarmLevel" {
- result = Connector + defenceJudge(label, rule)
+ result += Connector + defenceJudge(label, rule)
}
}
// 寰楀嚭鎬荤殑鍒ゆ柇缁撴灉
@@ -67,6 +67,7 @@
expression, err := govaluate.NewEvaluableExpression(result);
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒")
+ return
}
result, err1 := expression.Evaluate(nil)
if err1 != nil {
@@ -107,6 +108,7 @@
expression, err := govaluate.NewEvaluableExpression("t1 < t2");
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒")
+ return false
}
parameters := make(map[string]interface{}, 8)
parameters["t1"] = time1
@@ -127,6 +129,7 @@
if rule.TopicArg == "addr" {
formula = "'" + label.CameraAddr + "'" + rule.Operator + "'" + rule.RuleValue + "'"
}
+ logger.Info("-------鎵撳嵃鎽勫儚鏈鸿鍒欏叕寮忥細",formula)
expression, err := govaluate.NewEvaluableExpression(formula);
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
@@ -163,9 +166,10 @@
for _, liker := range arg.Liker {
formula := "'" + liker.TableId + "'" + rule.Operator + "'" + rule.RuleValue + "'"
expression, err := govaluate.NewEvaluableExpression(formula);
+ logger.Info("-------鎵撳嵃搴曞簱瑙勫垯鍏紡锛�",formula)
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
- //return "false"
+ return "false"
}
result, err1 := expression.Evaluate(nil)
if err1 != nil {
@@ -202,10 +206,11 @@
// 鍏朵粬杩欎釜鍊煎厛杩欎箞澶勭悊
return "true"
}
+ logger.Info("-------鎵撳嵃浜哄憳瑙勫垯鍏紡锛�",formula)
expression, err := govaluate.NewEvaluableExpression(formula);
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
- //return "false"
+ return "false"
}
result, err1 := expression.Evaluate(nil)
if err1 != nil {
@@ -225,10 +230,11 @@
}
} else {
formula := strconv.Itoa(int(personGroup.AlarmLevel)) + rule.Operator + formate(rule.RuleValue)
+ logger.Info("-------鎵撳嵃浜哄憳绛夌骇瑙勫垯鍏紡锛�",formula)
expression, err := govaluate.NewEvaluableExpression(formula);
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
- //return "false"
+ return "false"
}
result, err1 := expression.Evaluate(nil)
if err1 != nil {
@@ -260,11 +266,12 @@
}
} else {
for _, def := range label.DefenceLevel {
- formula := strconv.Itoa(int(def)) + rule.Operator + formate(rule.RuleValue)
+ formula := strconv.Itoa(int(def)) + rule.Operator + rule.RuleValue
+ logger.Info("-------鎵撳嵃甯冮槻绛夌骇瑙勫垯鍏紡锛�",formula)
expression, err := govaluate.NewEvaluableExpression(formula);
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
- //return "false"
+ return "false"
}
result, err1 := expression.Evaluate(nil)
if err1 != nil {
@@ -285,6 +292,7 @@
func taskJudge(label *Label, rule *protomsg.EventPushRule) string {
formula := "'"+label.TaskId +"'"+ rule.Operator +"'"+ rule.RuleValue+"'"
expression, err := govaluate.NewEvaluableExpression(formula);
+ logger.Info("-------鎵撳嵃浠诲姟瑙勫垯鍏紡锛�",formula)
if err != nil {
logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
return "false"
--
Gitblit v1.8.0