panlei
2019-07-30 0654d8d0f204a79132fed811a127db2e3ee34e1b
ruleserver/ruleToformula.go
@@ -119,6 +119,7 @@
      args.RuleResult = make(map[string]interface{})
      args.RuleResult["yolo"] = []Result{}
      args.RuleResult["face"] = []FaceResult{}
      logger.Warn("传进去之前是什么德行:",args.RuleResult["yolo"])
      if taskGroup != nil && len(taskGroup.GroupRules) > 0 {
         for _, group := range taskGroup.GroupRules {
            //logger.Println("------------------------------任务规则:",taskRule)
@@ -146,6 +147,7 @@
      }
   }()
   logger.Info("+++++++++++规则开始运行+++++++++++++++++当前大规则--:", *groupRule)
   logger.Warn("传进去之后是什么德行:",args.RuleResult["yolo"])
   Compare(args, groupRule)
   resultSplice := []*LittleRuleResult{}
   sdkNames := ""
@@ -277,7 +279,7 @@
         for _, sdkData := range args.Sdkdata {
            if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData里有人脸数据且配置了算法才把符合条件的数据塞进标签里去
               for _, areaMap := range sdkData.AreaMapList {
                  faces = append(faces, putFaceToResult(areaMap)...)
                  faces = append(faces, putFaceToResult(areaMap,faces)...)
               }
            }
         }
@@ -297,7 +299,7 @@
         logger.Debug("------locations的内容:", locations)
         if sdkNames != "" {
            args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId})
            logger.Info("-------------------yolo结果标签长度", len(args.RuleResult["yolo"].([]Result)))
            //logger.Info("-------------------yolo结果标签长度", len(args.RuleResult["yolo"].([]Result)))
         }
         if faceFlag {
            args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces})
@@ -337,11 +339,19 @@
   }
}
func putFaceToResult(am *AreaMap) []Arg {
func putFaceToResult(am *AreaMap,faceList []Arg) []Arg {
   faces := []Arg{}
   if len(am.filterData) > 0 {
      for _, data := range am.filterData {
         faces = append(faces, *data)
         flag := true
         for _,face := range faceList  {
            if data.Location.X == face.Location.X && data.Location.Y == face.Location.Y && data.Location.Width == face.Location.Width && data.Location.Height == face.Location.Height {
               flag = false
            }
         }
         if flag {
            faces = append(faces, *data)
         }
      }
   }
@@ -427,7 +437,7 @@
               args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, "", groupRule.GroupId, groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, ""})
               logger.Info("-------------------yolo结果标签有几个", len(args.RuleResult["yolo"].([]Result)))
               if args.RuleResult["face"] != nil {
                  logger.Info("-------------------face结果标签有几个", len(args.RuleResult["face"].([]Arg)))
                  logger.Info("-------------------face结果标签有几个", len(args.RuleResult["face"].([]FaceResult)))
               }
               //os.Exit(0)
            }