panlei
2019-07-04 f85585b1a6260678fe5912dc0048944b309d949e
联动任务的非第一条规则去掉连接符
1个文件已修改
16 ■■■■■ 已修改文件
ruleserver/ruleToformula.go 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -288,6 +288,21 @@
    for _, va := range resultSplice {
        completeFormula = completeFormula + va.Result
    }
    if strings.HasPrefix(completeFormula,"&&") || strings.HasPrefix(completeFormula,"||") || strings.HasPrefix(completeFormula,">=") || strings.HasPrefix(completeFormula,"<=") || strings.HasPrefix(completeFormula,"==") || strings.HasPrefix(completeFormula,"!=") ||strings.HasPrefix(completeFormula,">") || strings.HasPrefix(completeFormula,"<") {
        // 以这些开头的基本是联动任务
        if strings.HasPrefix(completeFormula,"&&") || strings.HasPrefix(completeFormula,"||") || strings.HasPrefix(completeFormula,">=") || strings.HasPrefix(completeFormula,"<=") || strings.HasPrefix(completeFormula,"==") || strings.HasPrefix(completeFormula,"!=") {
            completeFormula = completeFormula[2:len(completeFormula)-1]
        }
        if strings.HasPrefix(completeFormula,">") || strings.HasPrefix(completeFormula,"<") {
            completeFormula = completeFormula[1:len(completeFormula)-1]
        }
        expression, _ := govaluate.NewEvaluableExpression(completeFormula)
        if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") {
            panic("规则有误,得到的数学公式不可解析")
        }
        result, _ := expression.Evaluate(nil) // 得到数学公式的结果
        return result.(bool)
    }
    if completeFormula != "" {
        log.Println("结果公式-----------:", completeFormula)
        expression, _ := govaluate.NewEvaluableExpression(completeFormula)
@@ -303,6 +318,7 @@
                    timeEle.N = timeEle.InitN // 重置定时器
                }
            }
            log.Println("--------------------走这里了吗---------------")
            return false
        } else {
            // 最后成功报警才把符合条件的人脸数据塞进结果标签里