panlei
2019-11-15 40ff82ab78140e77e7b9352fb461ac604fcd3a96
目标类型整体插入
2个文件已修改
32 ■■■■ 已修改文件
algorithm/static/static.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
insertdata/insertDataToEs.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/static/static.go
@@ -114,13 +114,15 @@
    }
    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 { // 即第一帧数据(也不一定),还没有缓存
    if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 {
        logger.Info("之前无缓存并且此次区域内有人")
        objs := []*structure.Obj{}
@@ -151,7 +153,6 @@
        // 把满足条件的目标放进areaMap中
        am.AlarmObj = tars
        // 更新数据,把新来的数据写入缓存
        objs := []*structure.Obj{}
        for _, tar := range am.FilterData {
            flag1 := false
            for _, OBJ := range structure.StaticMap[am.AreaId].Targets {
@@ -161,10 +162,9 @@
            }
                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)
                structure.StaticMap[am.AreaId].Targets = append(structure.StaticMap[am.AreaId].Targets, obj)
            }
        }
        structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
        return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
    }
}
insertdata/insertDataToEs.go
@@ -516,22 +516,21 @@
        // 先判断一下数据带的规则标签是否有可以插入的
        logger.Info("插入定时目标信息:",len(msg.RuleResult["target"].([]structure.Result)))
        for _, yoloResult := range msg.RuleResult["target"].([]structure.Result) {
            for _, tar := range yoloResult.AlarmObj {
                // 装载目标信息
                logger.Info("报警目标个数:",len(yoloResult.AlarmObj),tar.AreaJson,tar.Location,tar.Score)
                var target = new(Target)
                target.TargetId = strconv.FormatUint(tar.Id, 10)
                target.TargetScore = tar.Score
                target.TargetLocation = Points{TopLeft: Point{tar.Location.X, tar.Location.Y}, BottomRight: Point{tar.Location.X + tar.Location.Width, tar.Location.Y + tar.Location.Height}}
            // 装载目标信息`
            //logger.Info("报警目标个数:",len(yoloResult.AlarmObj),tar.AreaJson,tar.Location,tar.Score)
            //var target = new(Target)
            //target.TargetId = strconv.FormatUint(tar.Id, 10)
            //target.TargetScore = tar.Score
            //target.TargetLocation = Points{TopLeft: Point{tar.Location.X, tar.Location.Y}, BottomRight: Point{tar.Location.X + tar.Location.Width, tar.Location.Y + tar.Location.Height}}
                //logger.Info("人脸的id:",strconv.FormatUint(face.Id, 10))
                var targetInfos []Target
                targetInfos = append(targetInfos, *target)
            //var targetInfos []Target
            //targetInfos = append(targetInfos, *target)
                // 获取目标缓存图片
                url := []string{}
                //InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
                // 把缓存的数据上传后得到地址存进去
                // 解压缩并上传图片
                url1 := uploadImg(tar.CacheData)
            url1 := uploadImg(yoloResult.AlarmObj[0].CacheData)
                url = append(url,url1)
                // 添加报警规则组
                sdkNames := ""
@@ -587,7 +586,7 @@
                    url = append(url, resp["fileUrl"].(string))
                    //esDataId := uuid.NewV4().String()
                    peraction := Personaction{
                        tar.Uuid,
                    msg.Push.PushId,
                        msg.Cid,
                        msg.Push.Cam.Name,
                        msg.Push.Cam.Addr,
@@ -607,7 +606,7 @@
                        0,
                        0,
                        0,
                        targetInfos,
                    nil,
                        linkTag,
                        linkTagInfos,
                    }
@@ -633,7 +632,6 @@
                        }
                        logger.Warn("__________________________________________往ES插入target数据成功")
                        //os.Exit(1)
                    }
                }
            }
        }