From abc05dcd6f9ab2ec826c1109afc135e4722d5c28 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期四, 01 八月 2019 18:26:31 +0800 Subject: [PATCH] fix 4 to 1 --- controllers/taglist.go | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 9 deletions(-) diff --git a/controllers/taglist.go b/controllers/taglist.go index 27e679d..802b018 100644 --- a/controllers/taglist.go +++ b/controllers/taglist.go @@ -1,6 +1,8 @@ package controllers import ( + "basic.com/dbapi.git" + "encoding/json" "fmt" "github.com/gin-gonic/gin" @@ -24,19 +26,57 @@ url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search" - - prama := "{\"query\":{\"bool\":{\"filter\":[]}},\"size\":10000,\"_source\":[\"tableName\",\"id\",\"isDelete\"]}" - + var setApi dbapi.SysSetApi + _, sysconf := setApi.GetServerInfo() + prama := "{\"query\":{\"bool\":{\"filter\":[{\"terms\":{\"analyServerId\":[\"\",\"" + sysconf.ServerId + "\"]}}]}},\"size\":1000}" 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) - tokenRes["title"] = value.(map[string]interface{})["tableName"].(string) - tokenRes["value"] = value.(map[string]interface{})["id"].(string) - tokenRes["status"] = value.(map[string]interface{})["isDelete"] + tr := value.(map[string]interface{}) + key := tr["id"].(string) + tokenRes["key"] = key + tokenRes["title"] = tr["tableName"].(string) + tokenRes["value"] = tr["id"].(string) + status := int(tr["isDelete"].(float64)) + tokenRes["status"] = status + if status == 1 { + if GetTotalFromDb(key) == false { + continue + } + } sources = append(sources, tokenRes) } util.ResponseFormat(c, code.Success, sources) -} \ No newline at end of file +} + +//鍒ゆ柇搴曞簱鏄惁鏈夋暟鎹� +func GetTotalFromDb(id string) (flag bool) { + flag = false + url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + + "/" + config.EsInfo.EsIndex.VideoPersons.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)) + if total > 0 { + flag = true + } + return flag +} -- Gitblit v1.8.0