panlei
2019-08-03 84aeb755f5a7cb9e6f35a43d2435b0d0a6a66d38
ruleserver/ruleToformula.go
@@ -279,8 +279,8 @@
   }
   if completeFormula != "" {
      logger.Info("结果公式-----------:", completeFormula)
      expression, err := govaluate.NewEvaluableExpression(completeFormula)
      if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") || err != nil {
      expression, err2 := govaluate.NewEvaluableExpression(completeFormula)
      if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") || err2 != nil {
         panic("规则有误,得到的数学公式不可解析")
      }
      result, _ := expression.Evaluate(nil) // 得到数学公式的结果
@@ -574,7 +574,6 @@
                  }
                  am.targetNum = len(am.filterData) // 把符合条件的目标数量更新到targetNum字段
                  logger.Info("过完条件后的目标数量为:",am.targetNum)
               }
               if am.targetNum > 0 {
                  logger.Info("!!!!!!!!!人脸检测成功")
                  return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "true", rule.Sort}
@@ -591,6 +590,9 @@
         return LittleRuleResult{}
      }
   } else {
         return LittleRuleResult{}
      }
   } else {
      // 处理的都是yolo数据
      if rule.PolygonId == am.areaId { // 首先这条规则得是这个算法的规则,其次规则所对应的区域id要跟区域数据的id对的上
         if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 判断的是相似值,占比,尺寸等过滤条件,如果再有,还可以再加