From f4e8f206a6760bdc31734dfcb1c65916b5b76311 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 22 八月 2019 12:05:58 +0800
Subject: [PATCH] add cluster

---
 controllers/dbtableperson.go |  225 +++++++++++++++++++------------------------------------
 1 files changed, 78 insertions(+), 147 deletions(-)

diff --git a/controllers/dbtableperson.go b/controllers/dbtableperson.go
index 9c362a7..9afabe9 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,48 +30,45 @@
 // @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, "")
 	}
 }
 
 func addDbPerson(dbperson *models.Dbtablepersons) (result map[string]interface{}) {
 
-	personId := uuid.NewV4().String() //  浠ュ悗鏇夸唬 渚濇嵁鐢熸垚瑙勫垯
+	personId := uuid.NewV4().String()
 	dbperson.Id = personId
 	dbperson.PriInsert()
-	url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
-		"/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexType + "/" + personId + "?refresh=wait_for"
-	personbytes, e := json.Marshal(dbperson)
-	if e != nil {
-		logger.Debug("Json marshaling failed锛�%s\n", e)
-	}
-	params := string(personbytes)
-	logger.Debug("璇锋眰url:%s;\n 璇锋眰鍙傛暟params:%s", url, params)
-	data, _ := esutil.PutEsDataReq(url, params)
-	//if data["_id"] !=""{
-	//	//閫氱煡姣斿杩涚▼缂撳瓨鏇存柊
-	//	discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
-	//		Type: protomsg.EsCacheChanged_T_DbTablePerson,
-	//		PersonId: personId,
-	//		TableId: []string{ dbperson.TableId },
-	//		Feature: dbperson.FaceFeature,
-	//		Action: protomsg.DbAction_Insert,
-	//	})
-	//}
 
-	//c.JSON(200, changeEsRespData(data, "娣诲姞浜哄憳鎴愬姛"))
-	result = changeEsRespData(data, "娣诲姞鎴愬姛")
+	var pApi dbapi.DbPersonApi
+	paramBody := util.Struct2Map(dbperson)
+	b, _ := pApi.AddDbPerson(paramBody)
+	result = map[string]interface{}{}
+	if b {
+		result["code"] = 200
+		data := make(map[string]interface{})
+		data["uuid"] = personId
+		result["data"] = data
+		result["success"] = true
+		result["msg"] = "娣诲姞鎴愬姛"
+	} else {
+		result["data"] = nil
+		result["success"] = false
+		result["msg"] = "鏈嶅姟鍣ㄥ紓甯�"
+		result["code"] = 500
+	}
 	return result
 }
 
@@ -87,48 +83,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) {
-		//code.Success.Message = "淇敼搴曞簱浜哄憳鎴愬姛"
-		//if dbperson.Enable == 1 {
-		//	discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
-		//		Type: protomsg.EsCacheChanged_T_DbTablePerson,
-		//		PersonId: dbperson.Id,
-		//		TableId: []string{ dbperson.TableId },
-		//		Feature: "",
-		//		Action: protomsg.DbAction_Insert,
-		//	})
-		//} else {
-		//	discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
-		//		Type: protomsg.EsCacheChanged_T_DbTablePerson,
-		//		PersonId: dbperson.Id,
-		//		TableId: []string{ dbperson.TableId },
-		//		Feature: "",
-		//		Action: protomsg.DbAction_Delete,
-		//	})
-		//}
-		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, "")
 	}
 }
 
@@ -183,36 +150,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) {
-		//code.Success.Message = "鍒犻櫎搴曞簱浜哄憳鎴愬姛"
-		//閫氱煡姣斿杩涚▼锛屾浜哄凡鍒犻櫎
-		//dbperArr, e := esApi.Dbpersoninfosbyid([]string{uuid}, config.EsInfo.EsIndex.Dbtablepersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport)
-		//if e ==nil && len(dbperArr) > 0{
-		//	if dbperArr[0].TableId !=""{
-		//		discovery.AddDbMessage(&protomsg.EsPersonCacheChange{
-		//			Type: protomsg.EsCacheChanged_T_DbTablePerson,
-		//			PersonId: uuid,
-		//			TableId: []string{ dbperArr[0].TableId },
-		//			Feature: "",
-		//			Action: protomsg.DbAction_Delete,
-		//		})
-		//	}
-		//}
-
-		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, "鍒犻櫎澶辫触")
 	}
 }
 
@@ -227,37 +175,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, "鍒犻櫎澶辫触")
 	}
 }
 
@@ -271,15 +200,17 @@
 // @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"
+	if tableId == "" {
+		util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎锛屽簳搴搃d涓嶈兘涓虹┖")
+		return
+	}
+	orderName := "id"
 	if reqBody["orderName"] != nil {
 		orderName = reqBody["orderName"].(string)
 	} // 鍒楀悕
@@ -299,17 +230,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" {
@@ -317,13 +240,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 + "\"}}}"
-	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)
+	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{}{})
+	}
 }
 
 // @Summary 鏌ヨ搴曞簱浜哄憳鍒楄〃

--
Gitblit v1.8.0