table and person move to sqite
| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "encoding/json" |
| | | "log" |
| | | "strconv" |
| | | "time" |
| | | "webserver/extend/logger" |
| | | |
| | | "github.com/gin-gonic/gin" |
| | |
| | | // @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, "") |
| | | } |
| | | } |
| | | |
| | |
| | | // @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, "") |
| | | } |
| | | } |
| | | |
| | |
| | | // @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, "删除失败") |
| | | } |
| | | } |
| | | |
| | |
| | | // @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, "删除失败") |
| | | } |
| | | } |
| | | |
| | |
| | | // @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) |
| | | } // 列名 |
| | |
| | | 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" { |
| | |
| | | } 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) |
| | | } |
| | | |
| | |
| | | "fmt" |
| | | "github.com/gin-gonic/gin" |
| | | "github.com/satori/go.uuid" |
| | | "log" |
| | | "time" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | |
| | | // @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 查询数据 |
| | |
| | | // @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中获取底库id") |
| | | 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) { |
| | |
| | | // @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() |
| | |
| | | } 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,"新增失败") |
| | | } |
| | | } |
| | | |
| | |
| | | // @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,"删除失败") |
| | | } |
| | | } |
| | | |