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