---
panlei
2019-08-08 d877ebc4cbf3f5d2ec922ca060ea344a993b2766
labelFilter/ruleForLabel.go
@@ -4,17 +4,16 @@
   "basic.com/dbapi.git"
   "basic.com/pubsub/protomsg.git"
   "github.com/knetic/govaluate"
   "os"
   "ruleprocess/logger"
   "ruleprocess/ruleserver"
   "strconv"
   "time"
)
func Judge(result ruleserver.ResultMsg) {
func Judge(msg ruleserver.ResultMsg) {
   // 装配成自己可以识别的数据
   label := new(Label)
   label.DataFormatToLabel(result)
   label.DataFormatToLabel(msg)
   logger.Info("label的信息:", label.CameraName, label.DefenceLevel, label.Time)
   if label.CameraName == "" {
      logger.Error("无效数据,直接返回")
@@ -72,11 +71,11 @@
            if result.(bool) {
               logger.Info("通过规则,表达式为:", result)
               // 推送服务器
               pushData(ruleGroup.Urls, result.(ruleserver.ResultMsg))
               os.Exit(1)
               pushData(ruleGroup.Urls, msg)
               //os.Exit(1)
            } else {
               logger.Info("没通过规则,表达式为:", result)
               os.Exit(1)
               //os.Exit(1)
            }
         }
      }
@@ -88,6 +87,7 @@
// 是否符合时间规则
func timeJudge(label *Label, groupRule protomsg.EventPush) string {
   timeNow := time.Now().Format("2006-01-02 15:04:05")
   logger.Info("标签过滤器起始时间为:",groupRule.TimeStart,groupRule.TimeEnd)
   flag1 := isBefore(groupRule.TimeStart, timeNow)
   flag2 := isBefore(timeNow, groupRule.TimeEnd)
   if flag1 && flag2 {
@@ -301,7 +301,8 @@
// 调用目标服务器的插入接口
func pushData(urls []*protomsg.PushUrl, data ruleserver.ResultMsg) {
   for _, url := range urls {
      Push(url.Url, data)
      logger.Debug("看看推送地址:",url.Url)
      Push("tcp://192.168.1.123:40012", data)
   }
}