liuxiaolong
2020-06-05 7c811247ecf143e08c576986a884bedadc57dd66
controllers/dbtablesCon.go
@@ -2,17 +2,11 @@
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"
)
@@ -20,14 +14,15 @@
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")
@@ -40,20 +35,31 @@
   }
}
// 依据底库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
@@ -66,29 +72,11 @@
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)
@@ -120,6 +108,7 @@
   Enable int `json:"enable"`
}
// @Security ApiKeyAuth
// @Summary 修改底库状态
// @Description 修改同步或本地库底库状态
// @Accept  json
@@ -174,39 +163,7 @@
   }
}
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
@@ -253,11 +210,15 @@
      } 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
@@ -265,10 +226,11 @@
   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