sunty
2019-12-09 845f643c1aaaa37a53219b6f11b77a1b333cf619
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
}