From 7c811247ecf143e08c576986a884bedadc57dd66 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期五, 05 六月 2020 18:29:41 +0800
Subject: [PATCH] add refresh token to resp

---
 controllers/dbtablesCon.go |  273 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 186 insertions(+), 87 deletions(-)

diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go
index 2eb472c..6be81ba 100644
--- a/controllers/dbtablesCon.go
+++ b/controllers/dbtablesCon.go
@@ -1,14 +1,12 @@
 package controllers
 
 import (
-	"encoding/json"
-	"fmt"
+	"basic.com/dbapi.git"
+	"basic.com/valib/logger.git"
 	"github.com/gin-gonic/gin"
 	"github.com/satori/go.uuid"
-	"log"
+	"time"
 	"webserver/extend/code"
-	"webserver/extend/config"
-	"webserver/extend/esutil"
 	"webserver/extend/util"
 	"webserver/models"
 )
@@ -16,44 +14,52 @@
 type DbTableController struct {
 }
 
+// @Security ApiKeyAuth
 // @Summary 鏄剧ず搴曞簱鍒楄〃
 // @Description 鏄剧ず鍚屾鎴栨湰鍦板簱鍒楄〃
 // @Accept  x-www-form-urlencoded
 // @Produce json
 // @Tags dbtable
 // @Param isSync path string true "鏄惁鍚屾搴�  1 鍚屾搴� 2鏈湴搴�  qita 鍏ㄩ儴搴�"
-// @Success 200 {string} json "{"code":200, msg:"鐩綍缁撴瀯鏁版嵁", success:true}"
-// @Failure 500 {string} json "{"code":500,  msg:"杩斿洖閿欒淇℃伅", success:false}"
+// @Success 200 {string} json "{"code":200, msg:"", success:true}"
+// @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")
-	syncTerm := ""
-	if isSync == "1" {
-		syncTerm = ",{\"term\":{\"isSync\":\"1\"}}" // 鍚屾搴�
-	} else if isSync == "2" {
-		syncTerm = ",{\"term\":{\"isSync\":\"2\"}}" // / 鏈湴搴�
+	var tApi dbapi.DbTableApi
+	b, data := tApi.QueryDbTables(isSync)
+	if b{
+		util.ResponseFormat(c, code.Success, data)
+	} else {
+		util.ResponseFormat(c,code.ComError,[]interface{}{})
 	}
-	params := "{\"query\":{\"bool\":{\"must\":[" +
-		"{\"term\":{\"isDelete\":\"0\"}}" + syncTerm + "]}}," +
-		"\"from\":0,\"size\":100,\"sort\":{\"id\":{\"order\":\"asc\"}}}"
-	fmt.Print("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
-
-	data := esutil.GetEsDataReq(url, params, true)
-	//c.JSON(200, data)
-	util.ResponseFormat(c, code.Success, data)
 }
 
-// 渚濇嵁搴曞簱id  鏌ヨ鏁版嵁
-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)
-	data := esutil.GetEsDataInfo(url, true)
-	return data
+// @Security ApiKeyAuth
+// @Summary 鏌ヨ鏈満鎵�鏈夊簳搴撳垪琛�
+// @Description 鏌ヨ鏈満鎵�鏈夊簳搴撳垪琛�
+// @Accept  x-www-form-urlencoded
+// @Produce json
+// @Tags dbtable
+// @Param isDelete query string true "0锛氭煡鏈垹闄わ紝1锛氭煡宸插垹闄わ紝鍏朵粬锛氭煡鎵�鏈�"
+// @Success 200 {string} json "{"code":200, msg:"", success:true}"
+// @Failure 500 {string} json "{"code":500, msg:"", success:false}"
+// @Router /data/api-v/dbtable/findAllDbTablesByCurServer [GET]
+func (dbt DbTableController) FindAllDbTablesByCurServer(c *gin.Context) {
+	var api dbapi.DbTableApi
+	isDeleteStr := c.Query("isDelete")
+	if isDeleteStr == "" {
+		isDeleteStr = "0"
+	}
+	arr,e := api.FindAllDbTablesByCurServer(isDeleteStr)
+	if e == nil {
+		util.ResponseFormat(c,code.Success, arr)
+	} else {
+		util.ResponseFormat(c,code.ComError,[]interface{}{})
+	}
 }
 
+// @Security ApiKeyAuth
 // @Summary 淇敼搴曞簱
 // @Description 淇敼鍚屾鎴栨湰鍦板簱
 // @Accept  json
@@ -65,34 +71,99 @@
 // @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
-		fmt.Println("body涓幏鍙栧簳搴搃d")
+	err := c.BindJSON(&dbtable)
+	if err !=nil || dbtable.Id == "" || dbtable.TableName == "" || (dbtable.Enable !=0 && dbtable.Enable !=1) {
+		util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+		return
 	}
-	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
-		"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + uuid + "/_update"
-	dbtable.PriUpdate()
-	dbTableByte, err := json.Marshal(dbtable)
-	if err != nil {
-		log.Fatalf("Json marshaling failed锛�%s", err)
-	}
-	fmt.Printf("%s\n", dbTableByte)
-	params := "{\"doc\":" + string(dbTableByte) + "}"
-	fmt.Print("璇锋眰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"])
+
+	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"])
+	//}
+}
+
+type DbTStatusVo struct {
+	Id string `json:"id"`
+	Enable int `json:"enable"`
+}
+
+// @Security ApiKeyAuth
+// @Summary 淇敼搴曞簱鐘舵��
+// @Description 淇敼鍚屾鎴栨湰鍦板簱搴曞簱鐘舵��
+// @Accept  json
+// @Produce json
+// @Tags dbtable
+// @Param obj body controllers.DbTStatusVo true "搴曞簱鐘舵�佷慨鏀瑰弬鏁�"
+// @Success 200 {string} json "{"code":200, msg:"鐩綍缁撴瀯鏁版嵁", success:true}"
+// @Failure 500 {string} json "{"code":500,  msg:"杩斿洖閿欒淇℃伅", success:false}"
+// @Router /data/api-v/dbtable/updateDbTableStatus [POST]
+func (dbt DbTableController) UpdateDbTableStatus(c *gin.Context) {
+	var ds DbTStatusVo
+	err := c.BindJSON(&ds)
+	if err !=nil || ds.Id == "" || (ds.Enable !=0 && ds.Enable !=1)  {
+		util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+		return
+	}
+
+	var dtApi dbapi.DbTableApi
+	dts, err := dtApi.DbtablesById([]string{ds.Id})
+	if err !=nil || dts == nil {
+		util.ResponseFormat(c,code.RequestParamError,"搴曞簱涓嶅瓨鍦�")
+		return
+	}
+	if ds.Enable == 1 {
+		str := dts[0].StartTime
+		etr := dts[0].EndTime
+		ct := time.Now()
+		st, _ := time.ParseInLocation("2006-01-02 15:04:05", str, time.Local)
+		b := false
+		if etr != "" {
+			et,_ := time.ParseInLocation("2006-01-02 15:04:05", etr, time.Local)
+			if et.After(ct) && st.Before(ct) {
+				b = true
+			}
+		} else {
+			if st.Before(ct) {
+				b = true
+			}
+		}
+		//b 涓簍rue鎵嶅厑璁稿紑鍚�
+		if !b {
+			util.ResponseFormat(c,code.UpdateFail,"褰撳墠涓嶅厑璁稿惎鐢�")
+			return
+		}
+	}
+
+	b,_ := dtApi.UpdateDbTableStatus(ds.Id, ds.Enable)
+	if b {
+		util.ResponseFormat(c,code.UpdateSuccess,"鏇存柊鎴愬姛")
+	} else {
+		util.ResponseFormat(c,code.ComError,"鏇存柊澶辫触")
 	}
 }
 
+// @Security ApiKeyAuth
 // @Summary 娣诲姞搴曞簱
 // @Description 娣诲姞鍚屾鎴栨湰鍦板簱
 // @Accept  json
@@ -104,55 +175,83 @@
 // @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
-	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
-		"/" + config.EsInfo.EsIndex.DbTables.IndexName + "/" + config.EsInfo.EsIndex.DbTables.IndexType + "/" + tableId
-	dbtable.PriInsert() // 娣诲姞鏃堕棿鍜屽垱寤轰汉
-	dbTableByte, err := json.Marshal(dbtable)
-	if err != nil {
-		log.Fatalf("Json marshaling failed锛�%s", err)
+	err := c.BindJSON(&dbtable)
+	if err!=nil || dbtable.TableName==""{
+		util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+		return
 	}
-	//fmt.Printf("%s\n", dbTableByte)
-	params := string(dbTableByte)
-	fmt.Print("璇锋眰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"])
+	dbtable.Id = uuid.NewV4().String()
+	if dbtable.AnalyServerId == "sync" {
+		dbtable.AnalyServerId = ""
+	}
+	if dbtable.AnalyServerId == "local" {
+		var setApi dbapi.SysSetApi
+		flag, sysconf := setApi.GetServerInfo()
+		if !flag {
+			util.ResponseFormat(c,code.ComError,"鏈嶅姟鍣ㄥ熀鏈厤缃湁璇�,璇锋鏌�")
+			return
+		}
+		dbtable.AnalyServerId = sysconf.ServerId
+	}
+
+	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 {
-		//code.ServiceInsideError.Message += result["msg"].(string)
-		util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+		if st.Before(currentTime) {
+			dbtable.Enable = 1
+		} else {
+			dbtable.Enable = 0
+		}
+	}
+
+	logger.Debug("AddDbTableInfo dbtable.Enable:",dbtable.Enable,",startTime:",startTime,",endTime:",endTime,",st:",st,",curTime:",currentTime)
+
+	paramBody := util.Struct2Map(dbtable)
+	var tApi dbapi.DbTableApi
+	b, data := tApi.AddDbTableInfo(paramBody)
+	if b {
+		util.ResponseFormat(c,code.AddSuccess, data)
+	} else {
+		util.ResponseFormat(c,code.ComError, data)
 	}
 }
 
+// @Security ApiKeyAuth
 // @Summary 鍒犻櫎搴曞簱
 // @Description 鍒犻櫎鍚屾鎴栨湰鍦板簱
 // @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/{uuid} [POST]
+// @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"
-	params := "{\"doc\":{\"isDelete\":\"1\"}}"
-	fmt.Print("鍒犻櫎璇锋眰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