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