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}
|
}
|