panlei
2019-08-09 ed50fd820fa8299f328e85400a08db997e86b349
ruleserver/ruleToformula.go
@@ -491,20 +491,22 @@
            result, _ := expression.Evaluate(nil) // 得到数学公式的结果
            if result.(bool) {
               logger.Info("___________________________________________________________________联动任务报警")
               // 把数组里缓存的数据取出来一起报警
               label.LinkCache = []ResultMsg{}
               for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults {
                  label.LinkCache = append(label.LinkCache, ruleRes.CacheData)
               }
               logger.Debug("联动任务缓存了几个数据", len(label.LinkCache))
               for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++ {
                  if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上
                     args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
               if TimeEleList[groupRule.GroupId] != nil {  // 极偶尔有情况会等于nil,不知道为啥,做个判断以防宕机
                  // 把数组里缓存的数据取出来一起报警
                  label.LinkCache = []ResultMsg{}
                  for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults {
                     label.LinkCache = append(label.LinkCache, ruleRes.CacheData)
                  }
               }
               for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++ {
                  if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上
                     args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
                  logger.Debug("联动任务缓存了几个数据", len(label.LinkCache))
                  for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++ {
                     if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上
                        args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
                     }
                  }
                  for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++ {
                     if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上
                        args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
                     }
                  }
               }
            }