| | |
| | | } |
| | | } |
| | | |
| | | 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 { |
| | |
| | | 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 |
| | | } |