From f86d25d5143847692779dd4e81b7e47d9b25376e Mon Sep 17 00:00:00 2001
From: sunty <suntianyu0923@163.com>
Date: 星期二, 30 七月 2019 11:16:15 +0800
Subject: [PATCH] fix delete dbtable add GetTotalFromDb and EsReq
---
controllers/dbtablesCon.go | 6 +-
extend/esutil/EsClient.go | 28 ++++++++++++++
controllers/taglist.go | 38 ++++++++++++++++++
3 files changed, 68 insertions(+), 4 deletions(-)
diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go
index f47c7d8..a0dd2eb 100644
--- a/controllers/dbtablesCon.go
+++ b/controllers/dbtablesCon.go
@@ -50,9 +50,9 @@
//c.JSON(200, data)
util.ResponseFormat(c, code.Success, data)
}
-
+锟�
// 渚濇嵁搴曞簱id 鏌ヨ鏁版嵁
-func QueryDbTableInfo(tableId string) map[string]interface{} {
+func QueryDbTableInfo(tableId string) map[string]interface{} {锟�
url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + tableId
logger.Debug("璇锋眰url:%s;", url)
@@ -156,7 +156,7 @@
uuid := c.Params.ByName("id")
url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + uuid + "/_update?refresh=wait_for"
- params := "{\"doc\":{\"isDelete\":\"1\"}}"
+ params := "{\"doc\":{\"isDelete\":1}}"
logger.Debug("鍒犻櫎璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
data := esutil.GetEsDataReq(url, params, false)
//c.JSON(200, changeEsRespData(data, "鍒犻櫎鎴愬姛"))
diff --git a/controllers/taglist.go b/controllers/taglist.go
index 27e679d..774f21d 100644
--- a/controllers/taglist.go
+++ b/controllers/taglist.go
@@ -35,8 +35,44 @@
tokenRes["key"] = value.(map[string]interface{})["id"].(string)
tokenRes["title"] = value.(map[string]interface{})["tableName"].(string)
tokenRes["value"] = value.(map[string]interface{})["id"].(string)
- tokenRes["status"] = value.(map[string]interface{})["isDelete"]
+ tokenRes["status"] = int(value.(map[string]interface{})["isDelete"])
+ if tokenRes["status"] == 1 {
+ if GetTotalFromDb(tokenRes["key"]) == false{
+ continue
+ }
+
+ }
sources = append(sources, tokenRes)
}
util.ResponseFormat(c, code.Success, sources)
+}
+//鍒ゆ柇搴曞簱鏄惁鏈夋暟鎹�
+func GetTotalFromDb(id string) (flag bool) {
+ flag = false
+ url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
+ "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search"
+ prama := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"baseInfo.tableId\":\""+id+"\"}}]}},\"size\":0}"
+ buf, err := EsReq("POST", url, []byte(prama))
+ if err != nil {
+ fmt.Println("http request info is err!")
+ return
+ }
+ var info interface{}
+ json.Unmarshal(buf, &info)
+ out, ok := info.(map[string]interface{})
+ if !ok {
+ fmt.Println("http response interface can not change map[string]interface{}")
+ return
+ }
+ middle, ok := out["hits"].(map[string]interface{})
+ if !ok {
+ fmt.Println("first hits change error!")
+ return
+ }
+ total = int(middle["total"].(float64))
+ fmt.Println(total)
+ if total>0 {
+ flag=true
+ }
+ return flag
}
\ No newline at end of file
diff --git a/extend/esutil/EsClient.go b/extend/esutil/EsClient.go
index 6bd550c..dd8bc3e 100644
--- a/extend/esutil/EsClient.go
+++ b/extend/esutil/EsClient.go
@@ -245,3 +245,31 @@
return dat
}
}
+//瑙f瀽http
+func EsReq(method string, url string, parama []byte) (buf []byte, err error) {
+ timeout := time.Duration(10 * time.Second)
+ client := http.Client{
+ Timeout: timeout,
+ }
+ request, err := http.NewRequest(method, url, bytes.NewBuffer(parama))
+ request.Header.Set("Content-type", "application/json")
+
+ if err != nil {
+ fmt.Println("build request fail !")
+ return nil, err
+ }
+
+ resp, err := client.Do(request)
+ if err != nil{
+ fmt.Println("request error: ", err)
+ return nil, err
+ }
+
+ defer resp.Body.Close()
+ body, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ fmt.Println(err)
+ return nil , err
+ }
+ return body, nil
+}
\ No newline at end of file
--
Gitblit v1.8.0