| | |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "encoding/json" |
| | | "fmt" |
| | | "webserver/extend/code" |
| | | "webserver/extend/util" |
| | | |
| | | "github.com/gin-gonic/gin" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/esutil" |
| | | "webserver/extend/util" |
| | | ) |
| | | |
| | | //标签列表 |
| | | //任务列表 |
| | | // @Summary 标签列表 |
| | | // @Description 返回底库标签 |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags es |
| | | // @Success 200 {string} json "{"code":200, msg:"目录结构数据", success:true}" |
| | | // @Failure 500 {string} json "{"code":500, msg:"返回错误信息", success:false}" |
| | | // @Success 200 {string} json "{"code":200, msg:"", success:true}" |
| | | // @Failure 500 {string} json "{"code":500, msg:"", success:false}" |
| | | // @Router /data/api-v/es/taskList [POST] |
| | | func (sc *EsSearchController) PostEsTagList(c *gin.Context) { |
| | | |
| | | url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + |
| | | "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search" |
| | | 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) |
| | | for _, value := range tokenRes["datalist"].([]interface{}) { |
| | | tokenRes := make(map[string]interface{}) |
| | | 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 |
| | | var dtApi dbapi.DbTableApi |
| | | var dbpApi dbapi.DbPersonApi |
| | | dts, err := dtApi.FindAllDbTablesByCurServer() |
| | | if err == nil { |
| | | if dts !=nil { |
| | | sources := make([]map[string]interface{}, 0) |
| | | for _, dt := range dts { |
| | | tokenRes := make(map[string]interface{}) |
| | | tokenRes["key"] = dt.Id |
| | | tokenRes["title"] = dt.TableName |
| | | tokenRes["value"] = dt.Id |
| | | tokenRes["status"] = dt.IsDelete |
| | | if dt.IsDelete == 1 { |
| | | personTotal,_ := dbpApi.GetPersonTotal(dt.Id) |
| | | if personTotal == 0 { |
| | | continue |
| | | } |
| | | } |
| | | sources = append(sources, tokenRes) |
| | | } |
| | | util.ResponseFormat(c, code.Success, sources) |
| | | return |
| | | } |
| | | 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.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 |
| | | util.ResponseFormat(c,code.ComError,"查询底库标签失败") |
| | | } |