| | |
| | | initN = init |
| | | } |
| | | } |
| | | if (structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0) && len(am.FilterData) > 0 { // 即第一帧数据(也不一定),还没有缓存 |
| | | if len(am.FilterData) < 0 { |
| | | logger.Info("本帧区域内无数据,返回") |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} |
| | | } |
| | | 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("之前无缓存并且此次区域内有人") |
| | | args.RuleResult["target"] = []structure.Result{} |
| | | args.RuleResult["target"] = append(args.RuleResult["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, args.RuleResult}} |
| | | 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} |
| | |
| | | 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) |
| | |
| | | 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) |
| | | } |
| | | } |