| | |
| | | label.CameraAddr = camera.Addr |
| | | label.TaskId = result.Tasklab.Taskid |
| | | label.Time = time.Now().Format("2006-01-02 15:04:05") |
| | | for _,faceGroup := range result.RuleResult["face"].([]ruleserver.FaceResult) { |
| | | label.Persons = append(label.Persons,faceGroup) |
| | | label.DefenceLevel = append(label.DefenceLevel,faceGroup.AlarmLevel) |
| | | if result.RuleResult["face"] != nil && len(result.RuleResult["face"].([]ruleserver.FaceResult)) > 0 { |
| | | for _,faceGroup := range result.RuleResult["face"].([]ruleserver.FaceResult) { |
| | | label.Persons = append(label.Persons,faceGroup) |
| | | label.DefenceLevel = append(label.DefenceLevel,faceGroup.AlarmLevel) |
| | | } |
| | | } |
| | | for _,yoloGroup := range result.RuleResult["yolo"].([]ruleserver.Result) { |
| | | label.DefenceLevel = append(label.DefenceLevel,yoloGroup.AlarmLevel) |
| | | if result.RuleResult["yolo"] != nil && len(result.RuleResult["yolo"].([]ruleserver.Result)) > 0 { |
| | | for _,yoloGroup := range result.RuleResult["yolo"].([]ruleserver.Result) { |
| | | label.DefenceLevel = append(label.DefenceLevel,yoloGroup.AlarmLevel) |
| | | } |
| | | } |
| | | logger.Info("------------标签过滤器赋值完毕") |
| | | } |
| | | } |
| | | |
| | |
| | | for _, ruleGroup := range allRules { |
| | | if ruleGroup.Enable { // 大规则开关开启状态 |
| | | // 先过时间规则 |
| | | timeJudge(label, ruleGroup) |
| | | timeFlag := timeJudge(label, ruleGroup) |
| | | if !timeFlag { |
| | | logger.Info("不在规则的时间范围内,不推送!") |
| | | return |
| | | } |
| | | result := "" |
| | | var Connector string |
| | | if ruleGroup.IsSatisfyAll { |
| | |
| | | } |
| | | |
| | | // 是否符合时间规则 |
| | | func timeJudge(label *Label, groupRule protomsg.EventPush) string { |
| | | func timeJudge(label *Label, groupRule protomsg.EventPush) bool { |
| | | timeNow := time.Now().Format("2006-01-02 15:04:05") |
| | | logger.Info("标签过滤器起始时间为:",groupRule.TimeStart,groupRule.TimeEnd) |
| | | flag1 := isBefore(groupRule.TimeStart, timeNow) |
| | | flag2 := isBefore(timeNow, groupRule.TimeEnd) |
| | | if flag1 && flag2 { |
| | | return "true" |
| | | return true |
| | | } else { |
| | | logger.Info("不在规定的时间范围内!") |
| | | return "false" |
| | | return false |
| | | } |
| | | } |
| | | |