panlei
2019-07-30 b149d73c29df3170af79d4d85da1be44692b3acc
ruleserver/timeTicker.go
@@ -24,10 +24,11 @@
}
type RuleResult struct {
   // 每个摄像机一个结构体
   CameraId    string // 摄像机id
   Sort        int32  // 摄像机在规则组中序号
   Result      string // 摄像机过滤数据得出的结果
   RuleWithPre string // 摄像机之间的连接符
   CameraId    string    // 摄像机id
   Sort        int32     // 摄像机在规则组中序号
   Result      string    // 摄像机过滤数据得出的结果
   RuleWithPre string    // 摄像机之间的连接符
   CacheData   *ResultMsg // 缓存当前帧数据
}
func TimeTicker() {
@@ -73,8 +74,8 @@
   // 判断有无此规则组的定时器
   flag := false
   for k, _ := range TimeEleList {
      logger.Debug("-----------------看看这个key和groupId", k, groupId)
      if strings.Contains(k, groupId) {
      //logger.Debug("-----------------看看这个key和groupId", k, groupId)
      if strings.Contains(k, groupId) && k != groupId{
         flag = true
      }
   }
@@ -91,20 +92,21 @@
                  logger.Debug("———————————-------------首次符合持续时间规则并报警")
                  flagTime = "10"
                  timeEle.AlarmFlag = true
                  args.RuleResult["cacheData"] = timeEle.CacheSdkData
                  args.RuleResult["cacheData"] = []ResultMsg{}
                  args.RuleResult["cacheData"] = append(args.RuleResult["cacheData"].([]ResultMsg),timeEle.CacheSdkData)
                  args.RuleResult["timeLabel"] = flagTime
               }
               if timeEle.N != 0 {
                  flagTime = "00"
                  // 有定时器但不为0把已打的标签删除
                  args.RuleResult = nil
                  logger.Debug("------------------------结果为真但计数器不到0,不报警,此时的计数器的值为:", timeEle.N)
                  // args.RuleResult = nil
                  logger.Debug("------------------------结果为真但计数器不到0,不报警,此时的计数器", k, "的值为:", timeEle.N)
               }
            }
         }
      } else { // 结果为假
         for k, timeEle := range TimeEleList {
            if strings.Contains(k, groupId) {
            if strings.Contains(k, groupId) && k != groupId{
               if timeEle.AlarmFlag {
                  if timeEle.BufferFlag == 0 {
                     logger.Debug("------------------------------杀死定时器,报警此帧状态改变的数据,此时的计数器的值为", timeEle.N)
@@ -121,7 +123,6 @@
               }
            }
         }
      }
   } else { // 无定时器
      if result {