From ee6d3c869ac19b842bb9b87926d2c9808143d3b4 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 05 八月 2019 15:52:15 +0800 Subject: [PATCH] 改造试点摄像机和任务判断 --- labelFilter/ruleForLabel.go | 53 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 17 deletions(-) diff --git a/labelFilter/ruleForLabel.go b/labelFilter/ruleForLabel.go index b22f99d..2b31dcf 100644 --- a/labelFilter/ruleForLabel.go +++ b/labelFilter/ruleForLabel.go @@ -15,6 +15,11 @@ // 瑁呴厤鎴愯嚜宸卞彲浠ヨ瘑鍒殑鏁版嵁 label := new(Label) label.DataFormatToLabel(result) + logger.Info("label鐨勪俊鎭細",label.CameraName,label.DefenceLevel,label.Time) + if label.CameraName == "" { + logger.Error("鏃犳晥鏁版嵁锛岀洿鎺ヨ繑鍥�") + return + } //鎷垮埌鎵�鏈夎鍒欑粍 var api dbapi.EventPushApi b,allRules := api.FindAllDetails() @@ -54,6 +59,7 @@ } // 寰楀嚭鎬荤殑鍒ゆ柇缁撴灉 if result != "" { + logger.Info("鎬荤殑鍒ゆ柇缁撴灉锛�",result) result = result[2:] // 鎶婂墠涓や綅瀛楃鍘绘帀 expression, err:= govaluate.NewEvaluableExpression(result); if err != nil { @@ -63,7 +69,6 @@ if err1 != nil { logger.Error("甯﹀叆鍙傛暟鏈夎") } - logger.Warn("瑙勫垯鍒ゆ柇缁撴灉鏄細",) if result.(bool) { logger.Info("閫氳繃瑙勫垯锛岃〃杈惧紡涓猴細",result) // 鎺ㄩ�佹湇鍔″櫒 @@ -109,25 +114,28 @@ // 鏄惁绗﹀悎鎽勫儚鏈鸿鍒� func cameraJudge(label *Label,rule *protomsg.EventPushRule) string{ + formula := "" if rule.TopicArg == "cameraName" { - if label.CameraName == rule.RuleValue { - logger.Info("绗﹀悎鎽勫儚鏈哄悕绉拌鍒�") - return "true" - } else { - logger.Info("涓嶇鍚堟憚鍍忔満鍚嶇О瑙勫垯") - return "false" - } + formula = label.CameraName + rule.Operator + rule.RuleValue } if rule.TopicArg == "cameraLocation" { - if label.CameraAddr == rule.RuleValue { - logger.Info("绗﹀悎鎽勫儚鏈轰綅缃鍒�") - return "true" - } else { - logger.Info("涓嶇鍚堟憚鍍忔満浣嶇疆瑙勫垯") - return "false" - } + formula = label.CameraAddr + rule.Operator + rule.RuleValue } - return "" + expression, err:= govaluate.NewEvaluableExpression(formula); + if err != nil { + logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒") + return "false" + } + result, err1:= expression.Evaluate(nil) + if err1 != nil { + logger.Error("甯﹀叆鍙傛暟鏈夎") + return "false" + } + if result.(bool) { + logger.Info("绗﹀悎鎽勫儚鏈鸿鍒�!") + return "true" + } + return "false" } // 鏄惁绗﹀悎搴曞簱瑙勫垯 @@ -189,7 +197,18 @@ } // 鏄惁绗﹀悎浠诲姟瑙勫垯 func taskJudge(label *Label,rule *protomsg.EventPushRule) string{ - if label.TaskId == rule.RuleValue { + formula := label.TaskId + rule.Operator + rule.RuleValue + expression, err:= govaluate.NewEvaluableExpression(formula); + if err != nil { + logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒") + return "false" + } + result, err1:= expression.Evaluate(nil) + if err1 != nil { + logger.Error("甯﹀叆鍙傛暟鏈夎") + return "false" + } + if result.(bool) { logger.Info("绗﹀悎浠诲姟瑙勫垯!") return "true" } -- Gitblit v1.8.0