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