panlei
2019-11-15 5d6651a0c9e966307d66769e8581e6da205faaab
algorithm/static/static.go
@@ -113,16 +113,19 @@
      }
   }
   if len(am.FilterData) < 0 {
      logger.Info("本帧区域内无数据,返回")
      return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
   }
   if (structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0) { // 即第一帧数据(也不一定),还没有缓存
   m := make(map[string]interface{})
   m["target"] = []structure.Result{}
   m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
   if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 { // 即第一帧数据(也不一定),还没有缓存
      logger.Info("之前无缓存并且此次区域内有人")
      m := make(map[string]interface{})
      m["target"] = []structure.Result{}
      m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
      objs := []*structure.Obj{}
      for _, tar := range am.FilterData {
         obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,CacheSdkData:structure.ResultMsg{message, m}}
         obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN, CacheSdkData:structure.ResultMsg{message, m}}
         objs = append(objs, obj)
      }
      structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
@@ -132,12 +135,12 @@
      flag := "false"
      // 以之前静止的对象为主判断是否静止
      tars := []*structure.Arg{}
      logger.Info("看一下静止区域内的目标:",am.AreaId)
      //logger.Info("看一下静止区域内的目标:",am.AreaId)
      //for _, tar := range structure.StaticMap[am.AreaId].Targets {
      //   logger.Info("具体目标:",tar.Location)
      //}
      for _, tar := range structure.StaticMap[am.AreaId].Targets {
         logger.Info("具体目标:",tar.Location)
      }
      for _, tar := range structure.StaticMap[am.AreaId].Targets {
         singleResult,arg := SingleStatic(tar,am,lable,90)
         singleResult,arg := SingleStatic(tar,am,lable,95)
         if singleResult {
            flag = "true"
            tars = append(tars,arg)
@@ -149,15 +152,15 @@
      am.AlarmObj = tars
      // 更新数据,把新来的数据写入缓存
      objs := []*structure.Obj{}
      for _, tar := range am.FilterData {
      for _, tar := range am.FilterData {m
         flag1 := false
         for _, OBJ := range structure.StaticMap[am.AreaId].Targets {
            if tar.Id == OBJ.Id {
               flag1 = true
            }
         }
         if !flag1 { // 集合中没有的才插入
            obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, nil}}
            if !flag1 { // 集合中没有的才插入
            obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}}
            objs = append(objs, obj)
         }
      }