From cc962c1b6ffabd9d41e6db0571efbcc1a4568ce7 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期一, 29 七月 2019 11:39:56 +0800
Subject: [PATCH] use mangos req instead of deliver,add recv timeout

---
 controllers/dbtablesCon.go |   76 +++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 33 deletions(-)

diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go
index 973a343..f47c7d8 100644
--- a/controllers/dbtablesCon.go
+++ b/controllers/dbtablesCon.go
@@ -1,16 +1,17 @@
 package controllers
 
 import (
+	"basic.com/dbapi.git"
 	"encoding/json"
-	"fmt"
 	"github.com/gin-gonic/gin"
+	"github.com/satori/go.uuid"
+	"log"
 	"webserver/extend/code"
 	"webserver/extend/config"
 	"webserver/extend/esutil"
+	"webserver/extend/logger"
 	"webserver/extend/util"
 	"webserver/models"
-	"github.com/satori/go.uuid"
-	"log"
 )
 
 type DbTableController struct {
@@ -29,16 +30,21 @@
 	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
 		"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/_search"
 	isSync := c.Params.ByName("isSync")
-	syncTerm := ""
+	var setApi dbapi.SysSetApi
+	_, sysconf := setApi.GetServerInfo()
+	analyServerFilterStr := ""
 	if isSync == "1" {
-		syncTerm = ",{\"term\":{\"syncType\":\"1\"}}" // 鍚屾搴�
+		analyServerFilterStr = "{\"term\":{\"analyServerId\":\"\"}}" // / 鍚屾搴�
 	} else if isSync == "2" {
-		syncTerm = ",{\"term\":{\"syncType\":\"2\"}}" // / 鏈湴搴�
+		analyServerFilterStr = "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" // 鏈湴搴�
+	}
+	if analyServerFilterStr !="" {
+		analyServerFilterStr = ","+ analyServerFilterStr
 	}
 	params := "{\"query\":{\"bool\":{\"must\":[" +
-		"{\"term\":{\"del_flag\":\"0\"}}" + syncTerm + "]}}," +
-		"\"from\":0,\"size\":100,\"sort\":{\"uuid\":{\"order\":\"asc\"}}}"
-	fmt.Print("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
+		"{\"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)
@@ -46,17 +52,13 @@
 }
 
 // 渚濇嵁搴曞簱id  鏌ヨ鏁版嵁
-func  QueryDbTableInfo(tableId string) map[string]interface{} {
+func QueryDbTableInfo(tableId string) map[string]interface{} {
 	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
-		"/" + config.EsInfo.EsIndex.DbTables.IndexName +"/" + config.EsInfo.EsIndex.DbTables.IndexName +  "/"+tableId
-	fmt.Print("璇锋眰url:%s;", url)
+		"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + tableId
+	logger.Debug("璇锋眰url:%s;", url)
 	data := esutil.GetEsDataInfo(url, true)
 	return data
-	}
-
-
-
-
+}
 
 // @Summary 淇敼搴曞簱
 // @Description 淇敼鍚屾鎴栨湰鍦板簱
@@ -70,21 +72,21 @@
 func (dbt DbTableController) UpdateDbTables(c *gin.Context) {
 	dbtable := new(models.Dbtables)
 	c.BindJSON(&dbtable)
-	uuid := c.Params.ByName("uuid")
+	uuid := c.Params.ByName("id")
 	if uuid == "" {
-		uuid = dbtable.Uuid
-		fmt.Println("body涓幏鍙栧簳搴搖uid")
+		uuid = dbtable.Id
+		logger.Debug("body涓幏鍙栧簳搴搃d")
 	}
 	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
-		"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + uuid + "/_update"
+		"/" + 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)
 	}
-	fmt.Printf("%s\n", dbTableByte)
+	logger.Debug("%s\n", dbTableByte)
 	params := "{\"doc\":" + string(dbTableByte) + "}"
-	fmt.Print("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
+	logger.Debug("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
 	data := esutil.GetEsDataReq(url, params, false)
 	//c.JSON(200, changeEsRespData(data, "淇敼鎴愬姛"))
 	result := changeEsRespData(data, "淇敼鎴愬姛")
@@ -110,18 +112,26 @@
 	dbtable := new(models.Dbtables)
 	c.BindJSON(&dbtable)
 	tableId := uuid.NewV4().String()
-	dbtable.Uuid = tableId
+	dbtable.Id = tableId
+	if dbtable.AnalyServerId == "sync" {
+		dbtable.AnalyServerId = ""
+	}
+	if dbtable.AnalyServerId == "local" {
+		var setApi dbapi.SysSetApi
+		_, sysconf := setApi.GetServerInfo()
+		dbtable.AnalyServerId = sysconf.ServerId
+	}
 	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
-		"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + tableId
+		"/" + 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)
 	}
-	//fmt.Printf("%s\n", dbTableByte)
+	//logger.Debugf("%s\n", dbTableByte)
 	params := string(dbTableByte)
-	fmt.Print("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
-	data,_ := esutil.PutEsDataReq(url, params)
+	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) {
@@ -141,13 +151,13 @@
 // @Param uuid 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/{uuid} [POST]
+// @Router /data/api-v/dbtable/deleteDBtablesById/{id} [POST]
 func (dbt DbTableController) DeleteDbTables(c *gin.Context) {
-	uuid := c.Params.ByName("uuid")
+	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"
-	params := "{\"doc\":{\"del_flag\":\"1\"}}"
-	fmt.Print("鍒犻櫎璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
+		"/" + 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, "鍒犻櫎鎴愬姛")

--
Gitblit v1.8.0