From f4e8f206a6760bdc31734dfcb1c65916b5b76311 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期四, 22 八月 2019 12:05:58 +0800 Subject: [PATCH] add cluster --- controllers/dbtablesCon.go | 169 ++++++++++++++++++++----------------------------------- 1 files changed, 62 insertions(+), 107 deletions(-) diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go index 82daabe..fd8ddd0 100644 --- a/controllers/dbtablesCon.go +++ b/controllers/dbtablesCon.go @@ -6,7 +6,6 @@ "fmt" "github.com/gin-gonic/gin" "github.com/satori/go.uuid" - "log" "time" "webserver/extend/code" "webserver/extend/config" @@ -29,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 鏌ヨ鏁版嵁 @@ -73,60 +58,35 @@ // @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 } - if dbtable.EndTime == "" { - flag := UpdateEndTime(dbtable.Id) - if flag == false { - util.ResponseFormat(c, code.ServiceInsideError, "淇敼澶辫触") - } - } - 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 dbtable.Enable == 0 { - res := UpdateDbPersonsOfDbTable(dbtable.Id) - //fmt.Println("鍚屾淇敼浜哄憳鐘舵�佹垚鍔�----",res) - logger.Debug("鍚屾淇敼浜哄憳鐘舵�佹垚鍔�----", res) - } - if result["success"].(bool) { - //code.Success.Message = "淇敼搴曞簱鎴愬姛" - //if dbtable.Enable ==1 { - // discovery.AddDbMessage(&protomsg.EsPersonCacheChange{ - // Type: protomsg.EsCacheChanged_T_DbTable, - // PersonId: "", - // TableId: []string{ dbtable.Id }, - // Feature: "", - // Action: protomsg.DbAction_Insert, - // }) - //} else { - // discovery.AddDbMessage(&protomsg.EsPersonCacheChange{ - // Type: protomsg.EsCacheChanged_T_DbTable, - // PersonId: "", - // TableId: []string{ dbtable.Id }, - // Feature: "", - // Action: protomsg.DbAction_Delete, - // }) - //} - 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) { @@ -168,19 +128,25 @@ // @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() // 娣诲姞鏃堕棿鍜屽垱寤轰汉 currentTime := time.Now() @@ -202,22 +168,14 @@ } else { dbtable.Enable = 0 } - dbTableByte, err := json.Marshal(dbtable) - if err != nil { - log.Fatalf("Json marshaling failed锛�%s", err) - } - //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"]) + + paramBody := util.Struct2Map(dbtable) + var tApi dbapi.DbTableApi + b, data := tApi.AddDbTableInfo(paramBody) + if b { + util.ResponseFormat(c,code.AddSuccess, data) } else { - //code.ServiceInsideError.Message += result["msg"].(string) - util.ResponseFormat(c, code.ServiceInsideError, result["data"]) + util.ResponseFormat(c,code.ComError,"鏂板澶辫触") } } @@ -226,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