panlei
2019-06-29 663e1c1d7bd5b2c0a306be318c45167bc0be54d5
ruleserver/ruleToformula.go
@@ -198,7 +198,7 @@
      }
      // 跑本摄像机的所有规则组 一组一组跑
      taskRuleList := GetRuleGroup(args.CameraId) // 本摄像机下所有任务组
      log.Println("看下摄像机下的任务组:",taskRuleList)
      //log.Println("看下摄像机下的任务组:",taskRuleList)
      // 得到属于该摄像机的若干组任务的完整规则(跟每一条完整规则比较之后得出本张图像对于某个规则是否报警的结果。放进map,比如本帧图像的id,所碰撞成功的规则id)
      args.RuleResult = make(map[string]interface{})
      args.RuleResult["yolo"] = []Result{}
@@ -215,7 +215,7 @@
                     linkTask(args, ruleList[i], taskId)
                  } else {
                     // 独立任务的处理
                     log.Println("-------------------------入关")
                     log.Println("----------------------------------------64摄像机入关")
                     RunRule(args, ruleList[i], taskId)
                  }
               }
@@ -227,6 +227,7 @@
func RunRule(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) bool {
   resultSplice := []*LittleRuleResult{}
   // 先过完条件规则
   log.Println("---------------------看下这个组规则:",groupRule.Rules)
   for j := 0; j < len(groupRule.Rules); j++ {
      for _, sdkData := range args.Sdkdata {
         for _, areaMap := range sdkData.AreaMapList {
@@ -500,6 +501,7 @@
func filterRule(rule *protomsg.Rule, am *AreaMap) LittleRuleResult {
   if rule.SdkId == "FaceDetect" || rule.SdkId == "FaceCompare" {
      // 处理的是人脸算法 如果这条规则配置的是人脸算法,过滤完条件之后直接得出结果,因为肯定没有数量条件,自己拼接
      log.Println("------------------------------------------还能进这儿了不成???")
      if rule.SdkId == am.sdkId && rule.PolygonId == am.areaId { // 算法和区域都得对的上
         if rule.SdkId == "FaceCompare" {