panlei
2019-07-18 deb66f92a4b350bc228894dcb3a3dd2f7dabf04a
改造init方法
5个文件已修改
44 ■■■■ 已修改文件
labelFilter/readyDataForLabel.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
labelFilter/ruleForLabel.go 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/readyDataForRule.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
labelFilter/readyDataForLabel.go
@@ -11,11 +11,12 @@
    CameraName    string
    CameraAddr    string
    TaskId        string
    Time          string
    Persons       []ruleserver.Arg
    DefenceLevel  string
}
func (label *Label)DataFormatToLabel(result ruleserver.ResultMsg) Label {
// 把数据装配到label
func (label *Label)DataFormatToLabel(result ruleserver.ResultMsg) {
    label.CameraId = result.Cid
    camera, err := cache.GetCameraById(result.Cid)
    if err != nil {
@@ -26,5 +27,6 @@
    label.TaskId = result.Tasklab.Taskid
    label.Persons = result.RuleResult["face"].([]ruleserver.Arg)
    //labelData.DefenceLevel = result.
    return Label{}
}
// 从缓存中查出所有的规则数据
labelFilter/ruleForLabel.go
@@ -1 +1,29 @@
package labelFilter
import (
    "github.com/knetic/govaluate"
    "ruleprocess/logger"
)
func Judge(){
}
//
func timeJudge(label *Label,groupRule *GroupRule){
}
// 判断第一个时间是否小于第二个时间
func isBefore(time1 string,time2 string) bool{
    expression, err:= govaluate.NewEvaluableExpression("t1 < t2");
    if err != nil {
        logger.Error("表达式有误,请检查!")
    }
    parameters := make(map[string]interface{},8)
    parameters["t1"] = time1
    parameters["t2"] = time2
    result, err1:= expression.Evaluate(parameters)
    if err1 != nil {
        logger.Error("带入参数有误")
    }
    return result.(bool)
}
main.go
@@ -40,7 +40,7 @@
    go cache.Init(initchan,*dbIp,*surveyPort,*pubPort)
    logger.Info("cache init completed!!!",<- initchan)//dbserver初始化完毕
    //fmt.Println("缓存初始化完成",<- initchan)//dbserver初始化完毕
    ruleserver.Init()
    go ruleserver.TimeTicker()
    nReciever("ipc:///tmp/sdk-2-rules-process.ipc", deliver.PushPull, 1)
    wg.Wait()
ruleserver/readyDataForRule.go
@@ -22,7 +22,7 @@
    Serverport     string `yaml:"serverPort"`
    Dbtablepersons string `yaml:"dbTablePersons"`
}
func init() {
func Init() {
    data, err := ioutil.ReadFile("./config/conf.yml")
    if err != nil {
        fmt.Println("读取配置文件出错--", err)
ruleserver/ruleToformula.go
@@ -254,8 +254,8 @@
    }
    if completeFormula != "" {
        logger.Info("结果公式-----------:", completeFormula)
        expression, _ := govaluate.NewEvaluableExpression(completeFormula)
        if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") {
        expression, err := govaluate.NewEvaluableExpression(completeFormula)
        if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") || err != nil{
            panic("规则有误,得到的数学公式不可解析")
        }
        result, _ := expression.Evaluate(nil) // 得到数学公式的结果