package controllers import ( "basic.com/pubsub/esutil.git" "basic.com/valib/bhomeclient.git" "basic.com/valib/bhomedbapi.git" "basic.com/valib/logger.git" "strconv" "vamicro/config" ) type DeleteDataController struct{} type DeleteParams struct { StartTime string `json:"startTime"` EndTime string `json:"endTime"` } // @Security ApiKeyAuth // @Summary 按时间范围清理数据 // @Description 按时间范围清理数据 // @Accept json // @Produce json // @Tags 数据清理 // @Param reqBody body controllers.DeleteParams true "时间范围" // @Success 200 {string} json "{"code":200, msg:"", success:true}" // @Failure 500 {string} json "{"code":500, msg:"", success:false}" // @Router /data/api-v/clearData/deleteEsData [POST] func (cdc *DeleteDataController) DeleteEsData(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { var cp DeleteParams var sysApi bhomedbapi.SysSetApi flag,localConf := sysApi.GetServerInfo() if !flag || localConf.AlarmIp == "" || localConf.ServerId == "" { logger.Debug("localConfig is wrong!!!") return &bhomeclient.Reply{ Msg: "GetServerInfo err"} } ip := localConf.AlarmIp port := strconv.Itoa(int(localConf.AlarmPort)) analyServerId := localConf.ServerId c.BindJSON(&cp) startTime := cp.StartTime endTime := cp.EndTime queryRes, queryErr := esutil.QueryAnalyServerData(ip, port, config.EsInfo.EsIndex.AiOcean.IndexName, startTime, endTime, analyServerId) if queryErr != nil { return &bhomeclient.Reply{ Msg: "校验数据失败"} } if queryRes != true { return &bhomeclient.Reply{ Msg: "该时间范围无数据可清理"} } logger.Debug("asgdasgdjhas: ", ip, port, config.BasicFS.IndexName, startTime, endTime, analyServerId) addRes, addErr := esutil.AddDelTask(ip, port, config.BasicFS.IndexName, startTime, endTime, analyServerId) if addErr != nil { logger.Debug("错误为u: ", addErr) return &bhomeclient.Reply{ Msg: "追加任务出错"} } if addRes != true { return &bhomeclient.Reply{ Msg: "追加任务失败"} } deleteRes, deleteErr := esutil.DeleteAnalyServerData(ip, port, config.EsInfo.EsIndex.AiOcean.IndexName, startTime, endTime, analyServerId) if deleteErr != nil { return &bhomeclient.Reply{ Msg: "数据删除出错"} } if deleteRes <= 0 { return &bhomeclient.Reply{ Msg: "数据删除失败"} } return &bhomeclient.Reply{ Success:true, Data: deleteRes} }