sunty
2019-07-12 78265dd08a17210ac67c1f82e2514b572c4734c8
esutil/EsApi.go
@@ -2,12 +2,16 @@
import (
        "errors"
        "strconv"
    "fmt"
    "strconv"
    "strings"
        "basic.com/pubsub/protomsg.git"
    "basic.com/pubsub/protomsg.git"
        )
func DbPersoninfos( queryindex int, querynums int ) (dbpersoninfos []protomsg.Baseinfo, err error){
// 查询底库人员信息
func DbPersoninfos( queryindex int, querynums int ) ([]*protomsg.Esinfo, error){
            var dbinfos []*protomsg.Esinfo
            point   := strconv.Itoa(queryindex)
            number   := strconv.Itoa(querynums)
@@ -16,39 +20,130 @@
                    "query": {
                        "match_all": {}
                    },
                        "size":`+ number +`,
                        "_source": [
                     "size":`+ number +`,
                     "_source": [
                       "id",
                       "tableId",
                       "tableName",
                       "compareScore",
                       "personId",
                       "personName",
                       "personPicUrl",
                       "phoneNum",
                       "sex",
                       "idCard",
                       "monitorLevel",
                       "faceFeature",
                       "content",
                       "id"
                       "faceFeature"
                       ]
                }`
                    }`
      // 返回请求的buf
      buf, err := GetDbinfo(dbinfoRequest )
      if err != nil {
        return nil ,errors.New("http request get dbperson info is err!")
      }
    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/dbpersons/_search",[]byte(dbinfoRequest))
    if err != nil {
        return dbinfos ,errors.New("http request dbtablename info is err!")
    }
      // 返回 _source 数组
      sources, err := Sourcelist(buf)
      if err != nil {
            return nil,err
            return dbinfos,err
      }
      // 返回所有查询的数据
      dbpersoninfos =  Parsesources(sources)
     dbpersoninfos :=  Parsesources(sources)
      return dbpersoninfos, nil
}
// 根据底库id查询底库信息
func Dbtablefosbyid (id []string) ([]protomsg.Dbtable, error) {
    var dbinfo []protomsg.Dbtable
    dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
        var dbinfoRequest = `
            {
               "query": {
                  "bool": {
                     "filter": [{
                        "terms": {
                           "_id": [
                              "`+ dbtableId +`"
                           ]
                        }
                     }]
                  }
               }
            }
        `
    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtables/_search",[]byte(dbinfoRequest))
    if err != nil {
        return dbinfo,  err
    }
    sources, err := Sourcelist(buf)
    if err != nil {
        return dbinfo , err
    }
    dbtable := Dbtablebyid(sources)
    return dbtable, nil
}
// 根据底库人员id查询底库人员信息
func Dbpersoninfosbyid (id []string) ([]protomsg.Dbperson, error) {
    var dbinfo []protomsg.Dbperson
    dbtablePersonId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
    var dbinfoRequest = `
            {
               "query": {
                  "bool": {
                     "filter": [{
                        "terms": {
                           "_id": [
                              "`+ dbtablePersonId +`"
                           ]
                        }
                     }]
                  }
               }
            }
        `
    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/_search",[]byte(dbinfoRequest))
    if err != nil {
        return dbinfo,  err
    }
    sources, err := Sourcelist(buf)
    if err != nil {
        return dbinfo , err
    }
    dbperson := Dbpersonbyid(sources)
    println(dbperson)
    return dbperson,nil
}
// 根据tableid 查询tablename
func Dbtablename(tableid string ) (tablename string, err error) {
    var dbinfotable =` {
        "query": {
            "bool": {
                "filter": [
                {
                    "term": {
                        "id":"`+tableid+`"
                    }
                }
                ]
            }
        },
        "_source": [
            "tableName"
        ]
    }
    `
    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtables/_search",[]byte(dbinfotable))
    if err != nil {
        return "" ,errors.New("http request dbtablename info is err!")
    }
    sources, err := Sourcelist(buf)
    if err != nil {
          return "",err
    }
    for _, source := range sources {
        if name, ok := source["tableName"].(string); ok {
            tablename = name
            break
        }
    }
    return tablename, nil
}