package controllers import ( "basic.com/valib/logger.git" "fmt" "strconv" "webserver/cache" "github.com/gin-gonic/gin" "webserver/extend/code" "webserver/extend/config" "webserver/extend/esutil" "webserver/extend/util" ) // @Security ApiKeyAuth // @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/taskList [POST] func (sc *EsSearchController) PostEsTaskList(c *gin.Context) { localConf, err2 := cache.GetServerInfo() if err2 !=nil || localConf.AlarmIp == "" || localConf.ServerId == "" { logger.Debug("localConfig is wrong!!!") util.ResponseFormat(c,code.ComError,"localConf wrong") return } url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) + "/" + config.EsInfo.EsIndex.AiOcean.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) }