liuxiaolong
2019-08-31 79622c34beb9a98e8b42cf45790242dc5a56742d
fix tagList,show dt deleted but videopersons has data
1个文件已修改
39 ■■■■■ 已修改文件
controllers/taglist.go 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/taglist.go
@@ -2,7 +2,11 @@
import (
    "basic.com/dbapi.git"
    "encoding/json"
    "fmt"
    "webserver/extend/code"
    "webserver/extend/config"
    "webserver/extend/esutil"
    "webserver/extend/util"
    "github.com/gin-gonic/gin"
@@ -19,7 +23,6 @@
func (sc *EsSearchController) PostEsTagList(c *gin.Context) {
    var dtApi dbapi.DbTableApi
    var dbpApi dbapi.DbPersonApi
    dts, err := dtApi.FindAllDbTablesByCurServer()
    if err == nil {
        if dts !=nil {
@@ -31,8 +34,7 @@
                tokenRes["value"] = dt.Id
                tokenRes["status"] = dt.IsDelete
                if dt.IsDelete == 1 {
                    personTotal,_ := dbpApi.GetPersonTotal(dt.Id)
                    if personTotal == 0 {
                    if GetTotalFromDb(dt.Id) == false {
                        continue
                    }
                }
@@ -44,3 +46,34 @@
    }
    util.ResponseFormat(c,code.ComError,"查询底库标签失败")
}
//判断底库是否有数据
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
}