---
panlei
2019-07-03 8cd86e6e9c5283885d780a35b7f044cc31331340
---
1个文件已修改
14 ■■■■ 已修改文件
ruleserver/ruleToformula.go 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -503,16 +503,22 @@
                expression, _ := govaluate.NewEvaluableExpression(completeFormula)
                result, _ := expression.Evaluate(nil) // 得到数学公式的结果
                if result.(bool) {
                    log.Println("___________________________________________________________________联动任务报警")
                    sdkName := ""
                    for j := 0; j < len(groupRule.Rules); j++ {
                        for _, sdkData := range args.Sdkdata {
                            if groupRule.Rules[j].SdkId == sdkData.SdkId && sdkData.IsYolo { // 只记录yolo符合规则的sdk
                                sdkName = sdkName + "," + sdkData.SdkName
                            if groupRule.Rules[j].SdkId == sdkData.SdkId && sdkData.IsYolo && !strings.Contains(sdkName,sdkData.SdkName) { // 只记录yolo符合规则的sdk 同时要避免重复拼接
                                sdkName = sdkData.SdkName + " "
                            }
                        }
                    }
                    // 过完规则后打个标签,告诉调用者本帧数据针对哪个任务哪组规则报警了
                    args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText})
                    if sdkName != "" {
                        args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText})
                        log.Println("-------------------yolo结果标签",args.RuleResult["yolo"].([]Result))
                    }
                    if args.RuleResult["face"] != nil {
                        log.Println("-------------------face结果标签",args.RuleResult["face"].([]Arg))
                    }
                }
            }
        } else {