panlei
2019-07-13 ab7b24801e14a0d17180a3b8d0b522344440a8a0
ruleserver/ruleToformula.go
@@ -503,6 +503,7 @@
   // 判断有无此规则组的定时器
   flag := false
   for k,_ := range TimeEleList {
      logger.Debug("-----------------看看这个key和groupId",k,groupId)
      if strings.Contains(k, groupId) {
         flag = true
      }
@@ -511,6 +512,11 @@
      if result { // 结果为真
         for k, timeEle := range TimeEleList {
            if strings.Contains(k, groupId) {
               if timeEle.N == 0 && timeEle.AlarmFlag {
                  logger.Debug("-------------------------符合持续时间规则但并不是首次,不报警")
                  flagTime = "11"
                  args.RuleResult["timeLabel"] = flagTime
               }
               if timeEle.N == 0 && !timeEle.AlarmFlag { // 这组规则的定时器要全部等于0   暂且认为一组规则只有一个定时器
                  logger.Debug("———————————-------------首次符合持续时间规则并报警")
                  flagTime = "10"
@@ -518,28 +524,24 @@
                  args.RuleResult["cacheData"] = timeEle.CacheSdkData
                  args.RuleResult["timeLabel"] = flagTime
               }
               if timeEle.N == 0 && timeEle.AlarmFlag {
                  logger.Debug("-------------------------符合持续时间规则但并不是首次,不报警")
                  flagTime = "11"
                  args.RuleResult["timeLabel"] = flagTime
               }
               if timeEle.N != 0 {
                  flagTime = "00"
                  logger.Debug("------------------------结果为真但计数器不到0,不报警,此时的计数器的值为:",timeEle.N)
               }
            }
         }
      } else { // 结果为假
         for k, timeEle := range TimeEleList {
            if strings.Contains(k, groupId) {
               logger.Debug("------------------------------重置定时器,此时的计数器的值为",timeEle.N)
               timeEle.N = timeEle.InitN // 重置定时器
               timeEle.CacheSdkData = SdkDatas{} // 把缓存数据扔了
               flagTime = "12"
               logger.Debug("------------------------------重置定时器")
            }
         }
      }
   } else {
   } else { // 无定时器
      if result {
         flagTime = "01"
      } else {
@@ -815,6 +817,7 @@
            }
            // 先清空过滤后的数据,再往里塞本次过滤后的数据
            am.filterData = am.filterData[0:0]
            logger.Debug("看看args:::::",args)
            for _, arg := range args {
               var formula string
               if rule.SdkArgAlias == "score" {