From 845f643c1aaaa37a53219b6f11b77a1b333cf619 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期一, 09 十二月 2019 20:42:28 +0800 Subject: [PATCH] add track cache util --- EsClient.go | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) diff --git a/EsClient.go b/EsClient.go index 5bb105d..6064067 100644 --- a/EsClient.go +++ b/EsClient.go @@ -57,9 +57,10 @@ } } -func Parsesources(sources []map[string]interface{}) (esinfos []*protomsg.Esinfo) { +func Parsesources(sources []map[string]interface{}) (multiInfos []*protomsg.MultiFeaCache) { var ok bool for _, source := range sources { + var multiInfo protomsg.MultiFeaCache var tmpinfo protomsg.Esinfo tmpinfo.Id, ok = source["id"].(string) if !ok { @@ -72,14 +73,36 @@ if !ok { continue } + if m["attachTarget"] != nil { + multiInfo.AttachFeature, ok = m["attachTarget"].(map[string]interface{})["feature"].(string) + } } } tmpinfo.AnalyServerId, ok = source["analyServerId"].(string) if !ok { continue } - esinfos = append(esinfos, &tmpinfo) - + multiInfo.EsInfo = &tmpinfo + multiInfo.CameraId, ok = source["cameraId"].(string) + //fmt.Println(source["cameraId"]) + leis := make([]*protomsg.LinkEsInfo,0) + if source["linkTagInfo"] != nil{ + for _,v := range source["linkTagInfo"].([]interface{}) { + var lei protomsg.LinkEsInfo + mi := v.(map[string]interface{}) + lei.CameraId, ok = mi["feature"].(string) + if mi["targetInfo"] != nil { + for _,val := range mi["targetInfo"].([]interface{}){ + fmi := val.(map[string]interface{}) + lei.Feature,ok = fmi["feature"].(string) + lei.AttachFeature, ok = fmi["attachTarget"].(map[string]interface{})["feature"].(string) + } + } + leis = append(leis, &lei) + } + } + multiInfo.LinkEsInfo = leis + multiInfos = append(multiInfos, &multiInfo) } return } -- Gitblit v1.8.0