panlei
2019-07-04 d197779cb9a7d3d33eb6afb2ad6d1a7ea7cf6e3f
不符合时间规则的逻辑修改
1个文件已修改
13 ■■■■ 已修改文件
ruleserver/ruleToformula.go 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -764,9 +764,10 @@
            log.Println("当天的时间段集合:----------",timeList)
            //fmt.Println("从数据库中查出的时间规则:", timeList)
            // 判断图片数据的时间是否符合当前规则 在一个即为true,全不在为false
            if rule.Operator == "satisfy" || rule.Operator == "==" { // 满足所选的时间规则
            flag := "false"
            for _, timeSlot := range timeList {
                if rule.Operator == "satisfy" || rule.Operator == "=="{ // 满足所选的时间规则
                    formula := "'" + timeSlot.Start + "'" + "<" + "'" + am.time + "'"
                    expression, _ := govaluate.NewEvaluableExpression(formula) // 得到数学公式
                    result, _ := expression.Evaluate(nil)                      // 得到数学公式的结果
@@ -780,7 +781,12 @@
                        break
                    }
                }
                return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + flag, rule.Sort}
            }
                if rule.Operator == "unsatisfy" || rule.Operator == "!="{ // 不满足所选的时间规则
                flag := "true"
                for _, timeSlot := range timeList {
                    formula := "'"+timeSlot.Start + "'" + " < " + "'" + am.time + "'"
                    log.Println("-----------------时间规则不满足的公式start:",formula)
                    expression, _ := govaluate.NewEvaluableExpression(formula) // 得到数学公式
@@ -791,13 +797,14 @@
                    expression1, _ := govaluate.NewEvaluableExpression(formula1) // 得到数学公式
                    result1, _ := expression1.Evaluate(nil)                      // 得到数学公式的结果
                    if result.(bool) && result1.(bool) {
                        flag = "true"
                        flag = "false"
                        break
                    }
                }
            }
            return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + flag, rule.Sort}
        }
        }
    }
    return LittleRuleResult{}
}