| | |
| | | func baseJudge(label *Label, rule *protomsg.EventPushRule) string { |
| | | if rule.RuleValue == "all" { |
| | | for _, personGroup := range label.Persons { |
| | | for _, arg := range personGroup.Args { |
| | | for _, arg := range personGroup.AlarmObj { |
| | | if len(arg.Liker) > 0 { |
| | | logger.Info("满足全部底库规则") |
| | | return "true" |
| | |
| | | return "false" |
| | | } else { |
| | | for _, personGroup := range label.Persons { |
| | | for _, arg := range personGroup.Args { |
| | | for _, arg := range personGroup.AlarmObj { |
| | | for _, liker := range arg.Liker { |
| | | formula := "'" + liker.TableId + "'" + rule.Operator + "'" + rule.RuleValue + "'" |
| | | expression, err := govaluate.NewEvaluableExpression(formula); |
| | |
| | | //是否符合人员规则 |
| | | func personJudge(label *Label, rule *protomsg.EventPushRule) string { |
| | | for _, personGroup := range label.Persons { |
| | | for _, person := range personGroup.Args { |
| | | for _, person := range personGroup.AlarmObj { |
| | | formula := "" |
| | | if rule.TopicArg == "sex" { |
| | | formula = strconv.Itoa(int(person.ThftRes.Gender)) + rule.Operator + rule.RuleValue |
| | |
| | | } |
| | | if rule.TopicArg == "monitorLevel" { |
| | | if rule.RuleValue == "all" { |
| | | if len(personGroup.Args) > 0 { |
| | | if len(personGroup.AlarmObj) > 0 { |
| | | logger.Info("符合人员等级为全部的规则") |
| | | return "true" |
| | | } |