| | |
| | | linkTask(args, ruleList[i], taskId) |
| | | } else { |
| | | // 独立任务的处理 |
| | | log.Println("----------------------------------------64摄像机入关") |
| | | RunRule(args, ruleList[i], taskId) |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | func RunRule(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) bool { |
| | | defer func() { |
| | | if err := recover(); err != nil { |
| | | fmt.Println("比对规则有误", err.(string)) |
| | | } |
| | | |
| | | }() |
| | | resultSplice := []*LittleRuleResult{} |
| | | // 先过完条件规则 |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | |
| | | if completeFormula != "" { |
| | | log.Println("看看公式-----------:", completeFormula) |
| | | expression, _ := govaluate.NewEvaluableExpression(completeFormula) |
| | | result, _ := expression.Evaluate(nil) // 得到数学公式的结果 |
| | | result, err := expression.Evaluate(nil) // 得到数学公式的结果 |
| | | if err != nil { |
| | | panic("得到的数学公式不可解析") |
| | | } |
| | | if result.(bool) { |
| | | // 给这帧数据打上规则组标签 |
| | | //args.RuleResult = append(args.RuleResult, Result{TaskId: taskId, RuleGroupId: groupRule.GroupId}) |