---
panlei
2019-08-02 f50d635a8bf79dd3bc594e67a3392c9db5eb2624
ruleserver/ruleToformula.go
@@ -270,9 +270,9 @@
         completeFormula = completeFormula[1:]
      }
      logger.Info("-------------------看看拔毛后的表达式:", completeFormula)
      expression, _ := govaluate.NewEvaluableExpression(completeFormula)
      result, _ := expression.Evaluate(nil) // 得到数学公式的结果
      return result.(bool)
      //expression, _ := govaluate.NewEvaluableExpression(completeFormula)
      //result, _ := expression.Evaluate(nil) // 得到数学公式的结果
      //return result.(bool)
   }
   if completeFormula != "" {
      logger.Info("结果公式-----------:", completeFormula)
@@ -430,19 +430,17 @@
            tempMap := make(map[string]interface{})
            for k,result := range args.RuleResult {
               if k == "yolo" {
                  tempMap[k] = []Result{}
                  for _,res := range result.([]Result) {
                     tempMap[k] = append(tempMap[k].([]Result),res)
                  }
               }
               if k == "face" {
                  tempMap[k] = []FaceResult{}
                  for _,res := range result.([]FaceResult) {
                     tempMap[k] = append(tempMap[k].([]FaceResult),res)
                  }
               }
               tempMap[k] = result
            }
            for _,result := range args.RuleResult["yolo"].([]Result)  {
               logger.Warn("放进联动缓存的长度是",len(result.LinkCache))
            }
            va.CacheData = ResultMsg{message,tempMap}
            logger.Info("这个摄像机--", args.CameraId, "--被赋予了result", va.Result)
@@ -477,14 +475,14 @@
                  label.LinkCache = append(label.LinkCache,ruleRes.CacheData)
               }
               logger.Debug("联动任务缓存了几个数据",len(label.LinkCache))
               //for _,result := range args.RuleResult["yolo"].([]Result) {
               //   if result.RuleGroupId == groupRule.GroupId {
               //      result.Others["linkCache"] = label
               //   }
               //}
               for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++  {
                  if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 把原来那个删掉再存一份新的
                  if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上
                     args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
                  }
               }
               for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++  {
                  if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上
                     args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
                  }
               }
            }
@@ -572,6 +570,7 @@
                     }
                  }
                  am.targetNum = len(am.filterData) // 把符合条件的目标数量更新到targetNum字段
                  logger.Info("-------------人脸目标数量:",am.targetNum)
               }
               if am.targetNum > 0 {
                   logger.Info("!!!!!!!!!人脸检测成功")