From 7aa2c6f8eda9f68ca11a3854a1b2a9d69730d6e7 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 20 八月 2019 14:41:34 +0800
Subject: [PATCH] fix arg
---
controllers/dbtablesCon.go | 189 +++++++++++++++++++++++++++-------------------
1 files changed, 111 insertions(+), 78 deletions(-)
diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go
index 5d69e24..fd8ddd0 100644
--- a/controllers/dbtablesCon.go
+++ b/controllers/dbtablesCon.go
@@ -3,9 +3,10 @@
import (
"basic.com/dbapi.git"
"encoding/json"
+ "fmt"
"github.com/gin-gonic/gin"
"github.com/satori/go.uuid"
- "log"
+ "time"
"webserver/extend/code"
"webserver/extend/config"
"webserver/extend/esutil"
@@ -27,28 +28,14 @@
// @Failure 500 {string} json "{"code":500, msg:"杩斿洖閿欒淇℃伅", success:false}"
// @Router /data/api-v/dbtable/queryDbTables/{isSync} [POST]
func (dbt DbTableController) QueryDbTables(c *gin.Context) {
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search"
isSync := c.Params.ByName("isSync")
- var setApi dbapi.SysSetApi
- _, sysconf := setApi.GetServerInfo()
- analyServerFilterStr := ""
- if isSync == "1" {
- analyServerFilterStr = "{\"term\":{\"analyServerId\":\"\"}}" // / 鍚屾搴�
- } else if isSync == "2" {
- analyServerFilterStr = "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" // 鏈湴搴�
+ var tApi dbapi.DbTableApi
+ b, data := tApi.QueryDbTables(isSync)
+ if b{
+ util.ResponseFormat(c, code.Success, data)
+ } else {
+ util.ResponseFormat(c,code.ComError,[]interface{}{})
}
- if analyServerFilterStr !="" {
- analyServerFilterStr = ","+ analyServerFilterStr
- }
- params := "{\"query\":{\"bool\":{\"must\":[" +
- "{\"term\":{\"isDelete\":\"0\"}}" + analyServerFilterStr + "]}}," +
- "\"from\":0,\"size\":1000,\"sort\":{\"id\":{\"order\":\"asc\"}}}"
- logger.Debug("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
-
- data := esutil.GetEsDataReq(url, params, true)
- //c.JSON(200, data)
- util.ResponseFormat(c, code.Success, data)
}
// 渚濇嵁搴曞簱id 鏌ヨ鏁版嵁
@@ -71,32 +58,63 @@
// @Router /data/api-v/dbtable/updateDbTables [POST]
func (dbt DbTableController) UpdateDbTables(c *gin.Context) {
dbtable := new(models.Dbtables)
- c.BindJSON(&dbtable)
- uuid := c.Params.ByName("id")
- if uuid == "" {
- uuid = dbtable.Id
- logger.Debug("body涓幏鍙栧簳搴搃d")
+ err := c.BindJSON(&dbtable)
+ if err !=nil || dbtable.Id == "" || dbtable.TableName == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
}
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + uuid + "/_update?refresh=wait_for"
- dbtable.PriUpdate()
- dbTableByte, err := json.Marshal(dbtable)
- if err != nil {
- log.Fatalf("Json marshaling failed锛�%s", err)
- }
- logger.Debug("%s\n", dbTableByte)
- params := "{\"doc\":" + string(dbTableByte) + "}"
- logger.Debug("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
- data := esutil.GetEsDataReq(url, params, false)
- //c.JSON(200, changeEsRespData(data, "淇敼鎴愬姛"))
- result := changeEsRespData(data, "淇敼鎴愬姛")
- if result["success"].(bool) {
- //code.Success.Message = "淇敼搴曞簱鎴愬姛"
- util.ResponseFormat(c, code.Success, result["data"])
+ paramBody := util.Struct2Map(dbtable)
+ var tApi dbapi.DbTableApi
+ b, data := tApi.UpdateDbTables(paramBody)
+ if b{
+ util.ResponseFormat(c,code.UpdateSuccess,data)
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ util.ResponseFormat(c,code.ComError,"鏇存柊澶辫触")
}
+
+ //if dbtable.EndTime == "" {
+ // flag := UpdateEndTime(dbtable.Id)
+ // if flag == false {
+ // util.ResponseFormat(c, code.ServiceInsideError, "淇敼澶辫触")
+ // }
+ //}
+ //
+ //if dbtable.Enable == 0 {
+ // res := UpdateDbPersonsOfDbTable(dbtable.Id)
+ //}
+ //if result["success"].(bool) {
+ // util.ResponseFormat(c, code.Success, result["data"])
+ //} else {
+ // util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ //}
+}
+
+func UpdateEndTime(id string) (flag bool) {
+ flag = false
+ url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
+ "/" + 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
}
// @Summary 娣诲姞搴曞簱
@@ -110,36 +128,54 @@
// @Router /data/api-v/dbtable/addDbTableInfo [PUT]
func (dbt DbTableController) AddDbTableInfo(c *gin.Context) {
dbtable := new(models.Dbtables)
- c.BindJSON(&dbtable)
- tableId := uuid.NewV4().String()
- dbtable.Id = tableId
+ err := c.BindJSON(&dbtable)
+ if err!=nil || dbtable.TableName==""{
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ dbtable.Id = uuid.NewV4().String()
if dbtable.AnalyServerId == "sync" {
dbtable.AnalyServerId = ""
}
if dbtable.AnalyServerId == "local" {
var setApi dbapi.SysSetApi
- _, sysconf := setApi.GetServerInfo()
+ flag, sysconf := setApi.GetServerInfo()
+ if !flag {
+ util.ResponseFormat(c,code.ComError,"鏈嶅姟鍣ㄥ熀鏈厤缃湁璇�,璇锋鏌�")
+ return
+ }
dbtable.AnalyServerId = sysconf.ServerId
}
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + tableId + "?refresh=wait_for"
+
dbtable.PriInsert() // 娣诲姞鏃堕棿鍜屽垱寤轰汉
- dbTableByte, err := json.Marshal(dbtable)
- if err != nil {
- log.Fatalf("Json marshaling failed锛�%s", err)
+
+ currentTime := time.Now()
+ startTime := dbtable.StartTime
+ endTime := ""
+ if dbtable.EndTime != "" {
+ endTime = dbtable.EndTime
}
- //logger.Debugf("%s\n", dbTableByte)
- params := string(dbTableByte)
- logger.Debug("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
- data, _ := esutil.PutEsDataReq(url, params)
- //c.JSON(200, changeEsRespData(data, "娣诲姞鎴愬姛"))
- result := changeEsRespData(data, "娣诲姞鎴愬姛")
- if result["success"].(bool) {
- //code.Success.Message = "娣诲姞搴曞簱鎴愬姛"
- util.ResponseFormat(c, code.Success, result["data"])
+ 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 {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ dbtable.Enable = 0
+ }
+
+ paramBody := util.Struct2Map(dbtable)
+ var tApi dbapi.DbTableApi
+ b, data := tApi.AddDbTableInfo(paramBody)
+ if b {
+ util.ResponseFormat(c,code.AddSuccess, data)
+ } else {
+ util.ResponseFormat(c,code.ComError,"鏂板澶辫触")
}
}
@@ -148,25 +184,22 @@
// @Accept x-www-form-urlencoded
// @Produce json
// @Tags dbtable
-// @Param uuid path string true "搴曞簱id "
+// @Param id path string true "搴曞簱id "
// @Success 200 {string} json "{"code":200, msg:"鐩綍缁撴瀯鏁版嵁", success:true}"
// @Failure 500 {string} json "{"code":500, msg:"杩斿洖閿欒淇℃伅", success:false}"
// @Router /data/api-v/dbtable/deleteDBtablesById/{id} [POST]
func (dbt DbTableController) DeleteDbTables(c *gin.Context) {
- uuid := c.Params.ByName("id")
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + uuid + "/_update?refresh=wait_for"
- params := "{\"doc\":{\"isDelete\":1}}"
- logger.Debug("鍒犻櫎璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
- data := esutil.GetEsDataReq(url, params, false)
- //c.JSON(200, changeEsRespData(data, "鍒犻櫎鎴愬姛"))
- result := changeEsRespData(data, "鍒犻櫎鎴愬姛")
- if result["success"].(bool) {
- //code.Success.Message = "鍒犻櫎搴曞簱鎴愬姛"
- util.ResponseFormat(c, code.Success, result["data"])
+ id := c.Params.ByName("id")
+ if id == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ var tApi dbapi.DbTableApi
+ b, data := tApi.DeleteById(id)
+ if b {
+ util.ResponseFormat(c,code.DelSuccess,data)
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ util.ResponseFormat(c,code.ComError,"鍒犻櫎澶辫触")
}
}
--
Gitblit v1.8.0