From f79f18bf3e65ad0eaf8fd1feb788bf792e362520 Mon Sep 17 00:00:00 2001 From: sunty <suntianyu0923@163.com> Date: 星期四, 01 八月 2019 15:05:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- controllers/dbtablesCon.go | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 58 insertions(+), 2 deletions(-) diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go index 5d69e24..e942fc8 100644 --- a/controllers/dbtablesCon.go +++ b/controllers/dbtablesCon.go @@ -3,9 +3,11 @@ 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" @@ -38,8 +40,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 +79,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() @@ -97,6 +105,34 @@ //code.ServiceInsideError.Message += result["msg"].(string) 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 娣诲姞搴曞簱 @@ -124,6 +160,26 @@ 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() + 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 + } dbTableByte, err := json.Marshal(dbtable) if err != nil { log.Fatalf("Json marshaling failed锛�%s", err) -- Gitblit v1.8.0