From 78265dd08a17210ac67c1f82e2514b572c4734c8 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期五, 12 七月 2019 15:42:01 +0800
Subject: [PATCH] fix query by id Multiple Id ([]id)

---
 esutil/EsApi.go |   69 +++++++++++++++++++++++++++-------
 1 files changed, 54 insertions(+), 15 deletions(-)

diff --git a/esutil/EsApi.go b/esutil/EsApi.go
index 8be8c68..7e7cbf1 100644
--- a/esutil/EsApi.go
+++ b/esutil/EsApi.go
@@ -2,9 +2,11 @@
 
 import (
         "errors"
-        "strconv"
+    "fmt"
+    "strconv"
+    "strings"
 
-        "basic.com/pubsub/protomsg.git"
+    "basic.com/pubsub/protomsg.git"
         )
 
 // 鏌ヨ搴曞簱浜哄憳淇℃伅
@@ -43,18 +45,55 @@
 }
 
 // 鏍规嵁搴曞簱id鏌ヨ搴曞簱淇℃伅
-func Dbpersoninfosbyid (id string) (protomsg.Baseinfo, error) {
-    var dbinfo protomsg.Baseinfo
-    
+func Dbtablefosbyid (id []string) ([]protomsg.Dbtable, error) {
+    var dbinfo []protomsg.Dbtable
+    dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
         var dbinfoRequest = `
             {
-                "query":{
-                    "terms":{
-                        "_id":[
-                            "`+ id +`"
-                        ]
-                    }
-                }
+            	"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))
@@ -67,10 +106,10 @@
         return dbinfo , err
     }
 
-    baseinfo := Dbpersonbyid(sources) 
-    return baseinfo, nil
+    dbperson := Dbpersonbyid(sources)
+    println(dbperson)
+    return dbperson,nil
 }
-
 
 // 鏍规嵁tableid 鏌ヨtablename
 func Dbtablename(tableid string ) (tablename string, err error) {

--
Gitblit v1.8.0