| | |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "encoding/json" |
| | | "fmt" |
| | | "basic.com/valib/logger.git" |
| | | "github.com/gin-gonic/gin" |
| | | "github.com/satori/go.uuid" |
| | | "strconv" |
| | | "time" |
| | | "webserver/cache" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/esutil" |
| | | "basic.com/valib/logger.git" |
| | | "webserver/extend/util" |
| | | "webserver/models" |
| | | ) |
| | |
| | | type DbTableController struct { |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 显示底库列表 |
| | | // @Description 显示同步或本地库列表 |
| | | // @Accept x-www-form-urlencoded |
| | | // @Produce json |
| | | // @Tags dbtable |
| | | // @Param isSync path string true "是否同步库 1 同步库 2本地库 qita 全部库" |
| | | // @Success 200 {string} json "{"code":200, msg:"目录结构数据", success:true}" |
| | | // @Failure 500 {string} json "{"code":500, msg:"返回错误信息", success:false}" |
| | | // @Success 200 {string} json "{"code":200, msg:"", success:true}" |
| | | // @Failure 500 {string} json "{"code":500, msg:"", success:false}" |
| | | // @Router /data/api-v/dbtable/queryDbTables/{isSync} [POST] |
| | | func (dbt DbTableController) QueryDbTables(c *gin.Context) { |
| | | isSync := c.Params.ByName("isSync") |
| | |
| | | } |
| | | } |
| | | |
| | | // 依据底库id 查询数据 |
| | | func QueryDbTableInfo(tableId string) map[string]interface{} { |
| | | localConf, err2 := cache.GetServerInfo() |
| | | if err2 !=nil || localConf.AlarmIp == "" { |
| | | logger.Debug("localConfig is wrong!!!") |
| | | return nil |
| | | // @Security ApiKeyAuth |
| | | // @Summary 查询本机所有底库列表 |
| | | // @Description 查询本机所有底库列表 |
| | | // @Accept x-www-form-urlencoded |
| | | // @Produce json |
| | | // @Tags dbtable |
| | | // @Param isDelete query string true "0:查未删除,1:查已删除,其他:查所有" |
| | | // @Success 200 {string} json "{"code":200, msg:"", success:true}" |
| | | // @Failure 500 {string} json "{"code":500, msg:"", success:false}" |
| | | // @Router /data/api-v/dbtable/findAllDbTablesByCurServer [GET] |
| | | func (dbt DbTableController) FindAllDbTablesByCurServer(c *gin.Context) { |
| | | var api dbapi.DbTableApi |
| | | isDeleteStr := c.Query("isDelete") |
| | | if isDeleteStr == "" { |
| | | isDeleteStr = "0" |
| | | } |
| | | url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) + |
| | | "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + tableId |
| | | logger.Debug("请求url:%s;", url) |
| | | data := esutil.GetEsDataInfo(url, true) |
| | | return data |
| | | arr,e := api.FindAllDbTablesByCurServer(isDeleteStr) |
| | | if e == nil { |
| | | util.ResponseFormat(c,code.Success, arr) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,[]interface{}{}) |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 修改底库 |
| | | // @Description 修改同步或本地库 |
| | | // @Accept json |
| | |
| | | func (dbt DbTableController) UpdateDbTables(c *gin.Context) { |
| | | dbtable := new(models.Dbtables) |
| | | err := c.BindJSON(&dbtable) |
| | | if err !=nil || dbtable.Id == "" || dbtable.TableName == "" { |
| | | if err !=nil || dbtable.Id == "" || dbtable.TableName == "" || (dbtable.Enable !=0 && dbtable.Enable !=1) { |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | return |
| | | } |
| | | currentTime := time.Now() |
| | | startTime := dbtable.StartTime |
| | | endTime := "" |
| | | if dbtable.EndTime != "" { |
| | | endTime = dbtable.EndTime |
| | | } |
| | | st, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, time.Local) |
| | | if endTime != "" { |
| | | et, _ := time.ParseInLocation("2006-01-02 15:04:05", endTime, time.Local) |
| | | if et.After(currentTime) && st.Before(currentTime) { |
| | | dbtable.Enable = 1 |
| | | } else { |
| | | dbtable.Enable = 0 |
| | | } |
| | | } else if st.Before(currentTime) && endTime == "" { |
| | | dbtable.Enable = 1 |
| | | } else { |
| | | dbtable.Enable = 0 |
| | | } |
| | | |
| | | paramBody := util.Struct2Map(dbtable) |
| | | var tApi dbapi.DbTableApi |
| | | b, data := tApi.UpdateDbTables(paramBody) |
| | |
| | | Enable int `json:"enable"` |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 修改底库状态 |
| | | // @Description 修改同步或本地库底库状态 |
| | | // @Accept json |
| | |
| | | } |
| | | } |
| | | |
| | | func UpdateEndTime(id string) (flag bool) { |
| | | flag = false |
| | | localConf, err2 := cache.GetServerInfo() |
| | | if err2 !=nil || localConf.AlarmIp == "" { |
| | | logger.Debug("localConfig is wrong!!!") |
| | | return false |
| | | } |
| | | url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) + |
| | | "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + id + "/_update?refresh=wait_for" |
| | | prama := "{\"script\":\"ctx._source.remove(\\\"endTime\\\")\"}" |
| | | buf, err := esutil.EsReq("POST", url, []byte(prama)) |
| | | if err != nil { |
| | | fmt.Println("http request info is err!") |
| | | return |
| | | } |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | | out, ok := info.(map[string]interface{}) |
| | | if !ok { |
| | | fmt.Println("http response interface can not change map[string]interface{}") |
| | | return |
| | | } |
| | | middle, ok := out["result"].(string) |
| | | if !ok { |
| | | fmt.Println("first result change error!") |
| | | return |
| | | } |
| | | if middle == "updated" { |
| | | flag = true |
| | | } |
| | | return flag |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 添加底库 |
| | | // @Description 添加同步或本地库 |
| | | // @Accept json |
| | |
| | | } else { |
| | | dbtable.Enable = 0 |
| | | } |
| | | } else if st.Before(currentTime) && endTime == "" { |
| | | dbtable.Enable = 1 |
| | | } else { |
| | | dbtable.Enable = 0 |
| | | if st.Before(currentTime) { |
| | | dbtable.Enable = 1 |
| | | } else { |
| | | dbtable.Enable = 0 |
| | | } |
| | | } |
| | | |
| | | logger.Debug("AddDbTableInfo dbtable.Enable:",dbtable.Enable,",startTime:",startTime,",endTime:",endTime,",st:",st,",curTime:",currentTime) |
| | | |
| | | paramBody := util.Struct2Map(dbtable) |
| | | var tApi dbapi.DbTableApi |
| | |
| | | if b { |
| | | util.ResponseFormat(c,code.AddSuccess, data) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,"新增失败") |
| | | util.ResponseFormat(c,code.ComError, data) |
| | | } |
| | | } |
| | | |
| | | // @Security ApiKeyAuth |
| | | // @Summary 删除底库 |
| | | // @Description 删除同步或本地库 |
| | | // @Accept x-www-form-urlencoded |