From 7d22639234720e054993cfbda9fe9ba3935ad2c4 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期六, 17 八月 2019 11:43:35 +0800
Subject: [PATCH] table and person move to sqite
---
controllers/dbtablesCon.go | 169 ++++++++++-----------------
controllers/dbtableperson.go | 145 +++++++++---------------
2 files changed, 117 insertions(+), 197 deletions(-)
diff --git a/controllers/dbtableperson.go b/controllers/dbtableperson.go
index ca4a0d9..6e69685 100644
--- a/controllers/dbtableperson.go
+++ b/controllers/dbtableperson.go
@@ -1,10 +1,9 @@
package controllers
import (
+ "basic.com/dbapi.git"
"encoding/json"
- "log"
"strconv"
- "time"
"webserver/extend/logger"
"github.com/gin-gonic/gin"
@@ -31,19 +30,19 @@
// @Router /data/api-v/dbperson/addDbPerson [PUT]
func (dbc DbPersonController) AddDbPerson(c *gin.Context) {
dbperson := new(models.Dbtablepersons)
- c.BindJSON(&dbperson)
- if dbperson.TableId == "" {
+ err := c.BindJSON(&dbperson)
+ if err!=nil || dbperson.TableId == "" {
// 搴曞簱id涓嶅瓨鍦�
- c.JSON(401, "TableId 涓嶅瓨鍦�")
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
return
}
- result := addDbPerson(dbperson)
- if result["success"].(bool) {
- //code.Success.Message = "娣诲姞搴曞簱浜哄憳鎴愬姛"
- util.ResponseFormat(c, code.Success, result["data"])
+ var pApi dbapi.DbPersonApi
+ paramBody := util.Struct2Map(dbperson)
+ b, data := pApi.AddDbPerson(paramBody)
+ if b {
+ util.ResponseFormat(c, code.Success, data)
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ util.ResponseFormat(c, code.ServiceInsideError, "")
}
}
@@ -77,30 +76,19 @@
// @Router /data/api-v/dbperson/updateDbPerson [POST]
func (dbc DbPersonController) UpdateDbPerson(c *gin.Context) {
var dbperson models.Dbtablepersons
- c.BindJSON(&dbperson)
- personid := dbperson.Id
- if personid == "" {
+ err := c.BindJSON(&dbperson)
+ if err !=nil || dbperson.Id == "" {
util.ResponseFormat(c, code.RequestParamError, nil)
return
}
dbperson.PriUpdate()
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexType + "/" + personid + "/_update?refresh=wait_for"
- dbTableByte, err := json.Marshal(dbperson)
- if err != nil {
- log.Fatalf("Json marshaling failed锛�%s", err)
- }
- //logger.Debugf("%s\n", dbTableByte)
- params := "{\"doc\":" + string(dbTableByte) + "}"
- logger.Debug("璇锋眰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) {
- util.ResponseFormat(c, code.Success, result["data"])
+ var pApi dbapi.DbPersonApi
+ paramBody := util.Struct2Map(dbperson)
+ b, data := pApi.UpdateDbPerson(paramBody)
+ if b {
+ util.ResponseFormat(c, code.Success, data)
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ util.ResponseFormat(c, code.ServiceInsideError, "")
}
}
@@ -155,21 +143,17 @@
// @Router /data/api-v/dbperson/deleteDbPersonById/{uuid} [POST]
func (dbc DbPersonController) DeleteDbPerson(c *gin.Context) {
- uuid := c.Params.ByName("uuid")
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexType + "/" + uuid + "/_update?refresh=wait_for"
- params := "{\"doc\":{\"isDelete\":\"1\",\"updateTime\":\"" + time.Now().Format("2006-01-02 15:04:05") + "\"}}"
- logger.Debug("鍒犻櫎璇锋眰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) {
- util.ResponseFormat(c, code.Success, result["data"])
+ id := c.Params.ByName("uuid")
+ if id == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ var pApi dbapi.DbPersonApi
+ b, data := pApi.DeleteDbPerson(id)
+ if b {
+ util.ResponseFormat(c, code.Success, data)
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ util.ResponseFormat(c, code.ServiceInsideError, "鍒犻櫎澶辫触")
}
}
@@ -184,37 +168,18 @@
// @Router /data/api-v/dbperson/deleteMoreDbPerson [POST]
func (dbc DbPersonController) DeleteMoreDbPerson(c *gin.Context) {
uuids := make([]string, 0, 5)
- c.BindJSON(&uuids)
- bytes, _ := json.Marshal(uuids)
- s := string(bytes)
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/_update_by_query?refresh" // + config.EsInfo.EsIndex.Dbtablepersons.IndexType + "/" + "/" + s
- params := "{\"script\":{\"lang\":\"painless\",\"inline\":\"ctx._source.isDelete = \\\"1\\\";" +
- "ctx._source.updateTime = \\\"" + time.Now().Format("2006-01-02 15:04:05") + "\\\"\"},\"query\":{\"terms\":{\"_id\":" + s + "}}}"
- logger.Debug("鍒犻櫎璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
- data := esutil.GetEsDataReq(url, params, false)
- //c.JSON(200, changeEsRespData(data,"鍒犻櫎鎴愬姛"))
- //result := changeEsRespData(data, "鍒犻櫎鎴愬姛")
- if data["error"] == nil {
- //code.Success.Message = "鍒犻櫎搴曞簱浜哄憳鎴愬姛"
- //dbperArr, e := esApi.Dbpersoninfosbyid(uuids, config.EsInfo.EsIndex.Dbtablepersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport)
- //if e ==nil && len(dbperArr) > 0{
- // for _,esPer :=range dbperArr {
- // if esPer.TableId !=""{
- // discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
- // Type: protomsg.EsCacheChanged_T_DbTablePerson,
- // PersonId: esPer.Id,
- // TableId: []string{ esPer.TableId },
- // Feature: "",
- // Action: protomsg.DbAction_Delete,
- // })
- // }
- // }
- //}
+ err := c.BindJSON(&uuids)
+ if err !=nil || len(uuids)==0{
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ var pApi dbapi.DbPersonApi
+ paramBody := util.Struct2Map(uuids)
+ b, _ := pApi.DeleteMoreDbPerson(paramBody)
+ if b {
util.ResponseFormat(c, code.Success, "鍒犻櫎搴曞簱浜哄憳鎴愬姛")
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, data["error"])
+ util.ResponseFormat(c, code.ServiceInsideError, "鍒犻櫎澶辫触")
}
}
@@ -228,15 +193,13 @@
// @Failure 500 {string} json "{code:500, msg:"杩斿洖閿欒淇℃伅", success:false,data:{}}"
// @Router /data/api-v/dbperson/queryDbPersonsByTbId [POST]
func (dbc DbPersonController) QueryDbPersonsByTbId(c *gin.Context) {
- url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
- "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/_search"
reqBody := make(map[string]interface{}, 5)
c.BindJSON(&reqBody)
tableId := ""
if reqBody["tableId"] != nil {
tableId = reqBody["tableId"].(string)
}
- orderName := "_id"
+ orderName := "id"
if reqBody["orderName"] != nil {
orderName = reqBody["orderName"].(string)
} // 鍒楀悕
@@ -256,17 +219,9 @@
if reqBody["size"] != nil {
size = int(reqBody["size"].(float64))
} // 鏉℃暟
- from := (page - 1) * size
- syncTerm := ""
- contentParam := ""
+
if tableId == "all" || tableId == "" {
// / 鎵�鏈変汉鍛�
- } else {
- syncTerm = "{\"term\":{\"tableId\":\"" + tableId + "\"}}" // 搴曞簱浜哄憳
- }
- if contentValue != "" {
- contentParam = ",\"must\":[{\"multi_match\":{\"query\":\"" + contentValue + "\",\"type\":\"best_fields\"," +
- "\"fields\":[\"personName\",\"sex\",\"idCard\",\"phoneNum\"],\"tie_breaker\":0.3}}]"
}
if orderType == "desc" {
@@ -274,11 +229,21 @@
} else {
orderType = "asc"
}
-
- params := "{\"query\":{\"bool\":{\"must_not\":[" +
- "{\"term\":{\"isDelete\":\"1\"}}],\"filter\":[" + syncTerm + "]" + contentParam + "}},\"from\":" + strconv.Itoa(from) + ",\"size\":" + strconv.Itoa(size) + ",\"sort\":{\"" + orderName + "\":{\"order\":\"" + orderType + "\"}}}"
- data := esutil.GetEsDataReq(url, params, true)
- //c.JSON(200, data)
+ var pApi dbapi.DbPersonApi
+ paramBody := map[string]interface{}{
+ "tableId":tableId,
+ "orderName":orderName,
+ "orderType":orderType,
+ "contentValue":contentValue,
+ "page":page,
+ "size":size,
+ }
+ b, data := pApi.QueryDbPersonsByTbId(paramBody)
+ if b{
+ util.ResponseFormat(c,code.Success,data)
+ } else {
+ util.ResponseFormat(c,code.ComError,[]interface{}{})
+ }
util.ResponseFormat(c, code.Success, data)
}
diff --git a/controllers/dbtablesCon.go b/controllers/dbtablesCon.go
index 82daabe..fd8ddd0 100644
--- a/controllers/dbtablesCon.go
+++ b/controllers/dbtablesCon.go
@@ -6,7 +6,6 @@
"fmt"
"github.com/gin-gonic/gin"
"github.com/satori/go.uuid"
- "log"
"time"
"webserver/extend/code"
"webserver/extend/config"
@@ -29,28 +28,14 @@
// @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")
- var setApi dbapi.SysSetApi
- _, sysconf := setApi.GetServerInfo()
- analyServerFilterStr := ""
- if isSync == "1" {
- analyServerFilterStr = "{\"term\":{\"analyServerId\":\"\"}}" // / 鍚屾搴�
- } else if isSync == "2" {
- analyServerFilterStr = "{\"term\":{\"analyServerId\":\"" + sysconf.ServerId + "\"}}" // 鏈湴搴�
+ var tApi dbapi.DbTableApi
+ b, data := tApi.QueryDbTables(isSync)
+ if b{
+ util.ResponseFormat(c, code.Success, data)
+ } else {
+ util.ResponseFormat(c,code.ComError,[]interface{}{})
}
- if analyServerFilterStr != "" {
- analyServerFilterStr = "," + analyServerFilterStr
- }
- params := "{\"query\":{\"bool\":{\"must\":[" +
- "{\"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)
- util.ResponseFormat(c, code.Success, data)
}
// 渚濇嵁搴曞簱id 鏌ヨ鏁版嵁
@@ -73,60 +58,35 @@
// @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
- logger.Debug("body涓幏鍙栧簳搴搃d")
+ err := c.BindJSON(&dbtable)
+ if err !=nil || dbtable.Id == "" || dbtable.TableName == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
}
- 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()
- dbTableByte, err := json.Marshal(dbtable)
- if err != nil {
- log.Fatalf("Json marshaling failed锛�%s", err)
- }
- logger.Debug("%s\n", dbTableByte)
- params := "{\"doc\":" + string(dbTableByte) + "}"
- logger.Debug("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
- data := esutil.GetEsDataReq(url, params, false)
- //c.JSON(200, changeEsRespData(data, "淇敼鎴愬姛"))
- result := changeEsRespData(data, "淇敼鎴愬姛")
- if dbtable.Enable == 0 {
- res := UpdateDbPersonsOfDbTable(dbtable.Id)
- //fmt.Println("鍚屾淇敼浜哄憳鐘舵�佹垚鍔�----",res)
- logger.Debug("鍚屾淇敼浜哄憳鐘舵�佹垚鍔�----", res)
- }
- if result["success"].(bool) {
- //code.Success.Message = "淇敼搴曞簱鎴愬姛"
- //if dbtable.Enable ==1 {
- // discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
- // Type: protomsg.EsCacheChanged_T_DbTable,
- // PersonId: "",
- // TableId: []string{ dbtable.Id },
- // Feature: "",
- // Action: protomsg.DbAction_Insert,
- // })
- //} else {
- // discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
- // Type: protomsg.EsCacheChanged_T_DbTable,
- // PersonId: "",
- // TableId: []string{ dbtable.Id },
- // Feature: "",
- // Action: protomsg.DbAction_Delete,
- // })
- //}
- 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"])
+ //}
}
func UpdateEndTime(id string) (flag bool) {
@@ -168,19 +128,25 @@
// @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
+ err := c.BindJSON(&dbtable)
+ if err!=nil || dbtable.TableName==""{
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ dbtable.Id = uuid.NewV4().String()
if dbtable.AnalyServerId == "sync" {
dbtable.AnalyServerId = ""
}
if dbtable.AnalyServerId == "local" {
var setApi dbapi.SysSetApi
- _, sysconf := setApi.GetServerInfo()
+ flag, sysconf := setApi.GetServerInfo()
+ if !flag {
+ util.ResponseFormat(c,code.ComError,"鏈嶅姟鍣ㄥ熀鏈厤缃湁璇�,璇锋鏌�")
+ return
+ }
dbtable.AnalyServerId = sysconf.ServerId
}
- 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()
@@ -202,22 +168,14 @@
} else {
dbtable.Enable = 0
}
- dbTableByte, err := json.Marshal(dbtable)
- if err != nil {
- log.Fatalf("Json marshaling failed锛�%s", err)
- }
- //logger.Debugf("%s\n", dbTableByte)
- params := string(dbTableByte)
- 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) {
- //code.Success.Message = "娣诲姞搴曞簱鎴愬姛"
- util.ResponseFormat(c, code.Success, result["data"])
+
+ paramBody := util.Struct2Map(dbtable)
+ var tApi dbapi.DbTableApi
+ b, data := tApi.AddDbTableInfo(paramBody)
+ if b {
+ util.ResponseFormat(c,code.AddSuccess, data)
} else {
- //code.ServiceInsideError.Message += result["msg"].(string)
- util.ResponseFormat(c, code.ServiceInsideError, result["data"])
+ util.ResponseFormat(c,code.ComError,"鏂板澶辫触")
}
}
@@ -226,25 +184,22 @@
// @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/{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?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, "鍒犻櫎鎴愬姛")
- 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