zhangzengfei
2023-09-07 55aa27a6ad0e012d62dcea2db37528a1b18836fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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}
}