From 531039f288ed0c2a76b0ab316499d618d2deccc4 Mon Sep 17 00:00:00 2001 From: sunty <suntianyu0923@163.com> Date: 星期二, 30 七月 2019 18:08:07 +0800 Subject: [PATCH] fix endTime update to Permanent --- controllers/dbtablesCon.go | 39 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 37 insertions(+), 2 deletions(-) diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go index 5d69e24..831437f 100644 --- a/controllers/dbtablesCon.go +++ b/controllers/dbtablesCon.go @@ -3,6 +3,7 @@ import ( "basic.com/dbapi.git" "encoding/json" + "fmt" "github.com/gin-gonic/gin" "github.com/satori/go.uuid" "log" @@ -38,8 +39,8 @@ } else if isSync == "2" { analyServerFilterStr = "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" // 鏈湴搴� } - if analyServerFilterStr !="" { - analyServerFilterStr = ","+ analyServerFilterStr + if analyServerFilterStr != "" { + analyServerFilterStr = "," + analyServerFilterStr } params := "{\"query\":{\"bool\":{\"must\":[" + "{\"term\":{\"isDelete\":\"0\"}}" + analyServerFilterStr + "]}}," + @@ -77,6 +78,12 @@ uuid = dbtable.Id logger.Debug("body涓幏鍙栧簳搴搃d") } + 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() @@ -99,6 +106,34 @@ } } +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 娣诲姞搴曞簱 // @Description 娣诲姞鍚屾鎴栨湰鍦板簱 // @Accept json -- Gitblit v1.8.0