panlei
2019-08-08 ee4eeaa38e11d3cef51c9bb093da69547bd18c4d
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)
            }
         }
         // 得出总的判断结果
@@ -127,6 +127,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,6 +164,7 @@
            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"
@@ -202,6 +204,7 @@
            // 其他这个值先这么处理
            return "true"
         }
         logger.Info("-------打印人员规则公式:",formula)
         expression, err := govaluate.NewEvaluableExpression(formula);
         if err != nil {
            logger.Error("表达式有误,请检查!", formula)
@@ -225,6 +228,7 @@
            }
         } 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)
@@ -261,6 +265,7 @@
   } else {
      for _, def := range label.DefenceLevel {
         formula := strconv.Itoa(int(def)) + rule.Operator + formate(rule.RuleValue)
         logger.Info("-------打印布防等级规则公式:",formula)
         expression, err := govaluate.NewEvaluableExpression(formula);
         if err != nil {
            logger.Error("表达式有误,请检查!", formula)
@@ -285,6 +290,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"