package controllers import ( "fmt" "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}" // @Router /data/api-v/es/tagList [POST] func (sc *EsSearchController) PostEsTaskList(c *gin.Context) { url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport + "/" + config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName + "/_search" prama := "{\"size\":0,\"aggs\":{\"taskId_list\":{\"terms\":{\"field\":\"taskId\"}}}}" tokenRes := esutil.GetEsDataReq(url, prama, false) //var taskId_list map[string]interface{} aggs := tokenRes["aggregations"].(map[string]interface{}) sources := make([]map[string]string, 0) if aggs != nil { taskId_list, ok := aggs["taskId_list"].(map[string]interface{})["buckets"].([]interface{}) if !ok { fmt.Println("It's not ok for type string") } for _, value := range taskId_list { var key = value.(map[string]interface{})["key"] source := make(map[string]string) source["title"] = key.(string) source["value"] = key.(string) source["key"] = key.(string) sources = append(sources, source) fmt.Println(key) } //m["result"].(map[string]interface{})["A"].([]interface{})[3].(map[string]interface{})["name"] fmt.Println(sources) } util.ResponseFormat(c, code.Success, sources) }