package labelFilter import ( "basic.com/valib/logger.git" "ruleprocess/cache" "ruleprocess/structure" "time" ) type Label struct { CameraId string CameraName string CameraAddr string TaskId string Time string Persons []structure.FaceResult DefenceLevel []int32 } // 把数据装配到label func (label *Label)DataFormatToLabel(result structure.ResultMsg) { logger.Debug("face结果:",result.RuleResult["face"] != nil && len(result.RuleResult["face"].([]structure.FaceResult)) > 0) logger.Debug("yolo结果:",result.RuleResult["yolo"] != nil && len(result.RuleResult["yolo"].([]structure.Result)) > 0) if (result.RuleResult["face"] != nil && len(result.RuleResult["face"].([]structure.FaceResult)) > 0) || (result.RuleResult["yolo"] != nil && len(result.RuleResult["yolo"].([]structure.Result)) > 0) { // 得有人脸或者yolo规则才可以 // 先判断一下数据带的规则标签是否有报警的可以推送的 flag := false for _, res := range result.RuleResult["yolo"].([]structure.Result) { //logger.Info("定时器打的数字标签:",res.Others.TimeLabel) if res.Others.TimeLabel == "01" || res.Others.TimeLabel == "10" { flag = true } } if flag || (result.RuleResult["face"] != nil && len(result.RuleResult["face"].([]structure.FaceResult)) > 0){ logger.Info("---------------标签过滤器赋值") label.CameraId = result.Cid camera, err := cache.GetCameraById(result.Cid) if err != nil { logger.Error("查询摄像机信息出错") } label.CameraName = camera.Name label.CameraAddr = camera.Addr label.TaskId = result.Tasklab.Taskid label.Time = time.Now().Format("2006-01-02 15:04:05") if result.RuleResult["face"] != nil && len(result.RuleResult["face"].([]structure.FaceResult)) > 0 { for _,faceGroup := range result.RuleResult["face"].([]structure.FaceResult) { label.Persons = append(label.Persons,faceGroup) label.DefenceLevel = append(label.DefenceLevel,faceGroup.AlarmLevel) } } if result.RuleResult["yolo"] != nil && len(result.RuleResult["yolo"].([]structure.Result)) > 0 { for _,yoloGroup := range result.RuleResult["yolo"].([]structure.Result) { label.DefenceLevel = append(label.DefenceLevel,yoloGroup.AlarmLevel) } } logger.Info("------------标签过滤器赋值完毕") } } } // 从缓存中查出所有的规则数据