panlei
2019-07-15 964418cf0fb7b143d16529d879968d7c8381f6f2
ruleserver/ruleToformula.go
@@ -69,6 +69,7 @@
// 从算法模块儿拿来的对一帧图像各个算法提取的数据集合
type SdkDatas struct {
   CameraId   string
   TaskId     string
   Sdkdata    []*SdkData
   RuleResult map[string]interface{} // 过完规则后打的标签 face: []Arg, yolo: []Result, cacheData: SdkDatas, timeLabel: 0,1,2,3,4,5
}
@@ -104,29 +105,24 @@
         SdkDataFormat(args.CameraId, arg, cameraPolygons)
      }
      // 跑本摄像机的所有规则组 一组一组跑
      taskRuleList := GetRuleGroup(args.CameraId) // 本摄像机下所有任务组
      taskGroup := GetRuleGroup(args.CameraId, args.TaskId) // 本摄像机下所有任务组
      //logger.Println("看下摄像机下的任务组:",taskRuleList)
      // 得到属于该摄像机的若干组任务的完整规则(跟每一条完整规则比较之后得出本张图像对于某个规则是否报警的结果。放进map,比如本帧图像的id,所碰撞成功的规则id)
      args.RuleResult = make(map[string]interface{})
      args.RuleResult["yolo"] = []Result{}
      args.RuleResult["face"] = []Arg{}
      if len(taskRuleList) > 0 {
         for _, taskRule := range taskRuleList {
      for _, group := range taskGroup.GroupRules {
            //logger.Println("------------------------------任务规则:",taskRule)
            ruleList := taskRule.GroupRules // 获取的是task下面的任务组
            taskId := taskRule.TaskId
         taskId := taskGroup.TaskId
            //logger.Println("------------本组任务下的规则组的数量:",len(ruleList))
            for i := 0; i < len(ruleList); i++ {
               temp := ruleList[i].Rules // temp为一组完整规则 在此需要判断规则是否是联动规则
         temp := group.Rules // temp为一组完整规则 在此需要判断规则是否是联动规则
               if len(temp) > 0 {
                  if ruleList[i].SetType == "linkTask" {
            if group.SetType == "linkTask" {
                     // groupId中含有link则为联动任务
                     LinkTask(args, ruleList[i], taskId,message)
               LinkTask(args, group, taskId, message)
                  } else {
                     // 独立任务的处理
                     RunRule(args, ruleList[i], taskId,message)
                  }
               }
               RunRule(args, group, taskId, message)
            }
         }
      }
@@ -333,7 +329,6 @@
      return false
   }
}
func putFaceToResult(am *AreaMap) []Arg {
   faces := []Arg{}
@@ -700,5 +695,3 @@
   }
   return LittleRuleResult{}
}