From ffa86a861692056ca78943059b1b5c04c78d17c9 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期二, 30 七月 2019 19:07:24 +0800 Subject: [PATCH] tasksdkrule funcs --- controllers/taglist.go | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 42 insertions(+), 2 deletions(-) diff --git a/controllers/taglist.go b/controllers/taglist.go index 6ad4914..6e24e2f 100644 --- a/controllers/taglist.go +++ b/controllers/taglist.go @@ -1,6 +1,7 @@ package controllers import ( + "encoding/json" "fmt" "github.com/gin-gonic/gin" @@ -25,17 +26,56 @@ url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search" - prama := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"isDelete\":0}}]}},\"_source\":[\"tableName\",\"id\"]}" + prama := "{\"query\":{\"bool\":{\"filter\":[]}},\"size\":10000,\"_source\":[\"tableName\",\"id\",\"isDelete\"]}" tokenRes := esutil.GetEsDataReq(url, prama, true) sources := make([]map[string]interface{}, 0) fmt.Println(tokenRes["datalist"].([]interface{})) for _, value := range tokenRes["datalist"].([]interface{}) { tokenRes := make(map[string]interface{}) - tokenRes["key"] = value.(map[string]interface{})["id"].(string) + key := value.(map[string]interface{})["id"].(string) + tokenRes["key"] = key tokenRes["title"] = value.(map[string]interface{})["tableName"].(string) tokenRes["value"] = value.(map[string]interface{})["id"].(string) + status := int(value.(map[string]interface{})["isDelete"].(float64)) + tokenRes["status"] = status + if status == 1 { + if GetTotalFromDb(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 := esutil.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 -- Gitblit v1.8.0