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