From 0222e79afe45d9fc55aed9a7e62ca239c228ab73 Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期一, 23 十二月 2019 10:24:12 +0800 Subject: [PATCH] add sys comeback sh --- controllers/dbtableperson.go | 190 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 131 insertions(+), 59 deletions(-) diff --git a/controllers/dbtableperson.go b/controllers/dbtableperson.go index 048427c..dbc6149 100644 --- a/controllers/dbtableperson.go +++ b/controllers/dbtableperson.go @@ -4,13 +4,12 @@ "basic.com/dbapi.git" "basic.com/fileServer/WeedFSClient.git" "basic.com/pubsub/protomsg.git" + "basic.com/valib/logger.git" "encoding/base64" - "encoding/json" "io/ioutil" "sort" "strconv" "time" - "basic.com/valib/logger.git" "webserver/cache" "webserver/service" @@ -18,14 +17,16 @@ "github.com/satori/go.uuid" "webserver/extend/code" "webserver/extend/config" - "webserver/extend/esutil" "webserver/extend/util" "webserver/models" + + esApi "basic.com/pubsub/esutil.git" ) type DbPersonController struct { } +// @Security ApiKeyAuth // @Summary 娣诲姞搴曞簱浜哄憳 // @Description 娣诲姞搴曞簱浜哄憳 // @Accept json @@ -79,6 +80,7 @@ return result } +// @Security ApiKeyAuth // @Summary 淇敼搴曞簱浜哄憳 // @Description 淇敼搴曞簱浜哄憳 // @Accept json @@ -106,6 +108,7 @@ } } +// @Security ApiKeyAuth // @Summary 搴曞簱浜哄憳浠ュ浘鎼滃浘 // @Description 搴曞簱浜哄憳浠ュ浘鎼滃浘 // @Accept json @@ -192,7 +195,7 @@ for idx,v :=range compResult.CompareResult{ dbPersonM[v.Id] = ScoreIndex{ Index: idx, - CompareScore: v.CompareScore, + CompareScore: float64(v.CompareScore), } personIds = append(personIds,v.Id) } @@ -225,7 +228,7 @@ dbP.CreateTime = p.CreateTime dbP.UpdateTime = p.UpdateTime dbP.CreateBy = p.CreateBy - dbP.CompareScore = util.ParseScore(dbPersonM[p.Id].CompareScore) + dbP.CompareScore = dbPersonM[p.Id].CompareScore //dbTableInfos, _ := dtApi.DbtablesById([]string{ p.TableId }) //if dbTableInfos !=nil{ // dbP.BwType = dbTableInfos[0].BwType @@ -238,11 +241,12 @@ return resultList } +// @Security ApiKeyAuth // @Summary 鏇存柊搴曞簱浜鸿劯鐓х墖 // @Description 鏇存柊搴曞簱浜鸿劯鐓х墖 -// @Accept json +// @Accept multipart/form-data // @Produce json -// @Tags 搴曞簱浜哄憳 +// @Tags dbperson 搴曞簱浜哄憳 // @Param id formData string true "浜哄憳id" // @Param file formData file true "浜鸿劯鍥剧墖" // @Success 200 {string} json "{"code":200, msg:"", success:true}" @@ -319,51 +323,7 @@ //} } -func UpdateDbPersonsOfDbTable(id string) (message string) { - localConf, err2 := cache.GetServerInfo() - if err2 !=nil || localConf.AlarmIp == "" || localConf.ServerId == "" { - logger.Debug("localConfig is wrong!!!") - return "淇敼澶辫触" - } - url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) + - "/" + config.EsInfo.EsIndex.Dbtablepersons.IndexName + "/_update_by_query?refresh" - jsonDSL := ` - { - "script": { - "lang": "painless", - "inline": "ctx._source.enable = 0" - }, - "query": { - "term": { - "tableId": "` + id + `" - } - } -} -` - buf, err := esutil.EsReq("POST", url, []byte(jsonDSL)) - if err != nil { - logger.Debug("http request info is err!") - message = "淇敼澶辫触" - } - var info interface{} - json.Unmarshal(buf, &info) - out, ok := info.(map[string]interface{}) - if !ok { - logger.Debug("http response interface can not change map[string]interface{}") - message = "淇敼澶辫触" - } - middle, ok := out["updated"].(float64) - if !ok { - logger.Debug("first result change error!") - message = "淇敼澶辫触" - } - if middle >= 0 { - logger.Debug("淇敼鎴愬姛") - message = "淇敼鎴愬姛,鏇存柊鐘舵�佹潯鏁颁负" + strconv.Itoa(int(middle)) - } - return message -} - +// @Security ApiKeyAuth // @Summary 鍒犻櫎搴曞簱浜哄憳 // @Description 鍒犻櫎搴撲汉鍛� // @Accept x-www-form-urlencoded @@ -391,6 +351,7 @@ type DelMultiPerson []string +// @Security ApiKeyAuth // @Summary 鍒犻櫎搴曞簱浜哄憳 // @Description 鍒犻櫎搴撲汉鍛� // @Accept json @@ -420,6 +381,7 @@ } } +// @Security ApiKeyAuth // @Summary 鏌ヨ搴曞簱浜哄憳鍒楄〃 // @Description 鏌ヨ搴撲汉鍛樺垪琛� // @Accept json @@ -484,11 +446,121 @@ } } -type DbtSearch struct { - TableId string `json:"tableId"` - OrderName string `json:"orderName"` - OrderType string `json:"orderType"` - ContentValue string `json:"contentValue"` - Page int `json:"page"` - Size int `json:"size"` +type JoinDbTVo struct { + CaptureId string `json:"captureId"` + TableIds []string `json:"tableIds"` } + +// @Security ApiKeyAuth +// @Summary 鎶撴媿浜哄憳鍔犲叆搴曞簱 +// @Description 鎶撴媿浜哄憳鍔犲叆搴曞簱 +// @Accept json +// @Produce json +// @Tags dbperson 搴曞簱浜哄憳 +// @Param obj body controllers.JoinDbTVo true "搴曞簱鏁版嵁" +// @Success 200 {string} json "{"code":200, msg:"鐩綍缁撴瀯鏁版嵁", success:true}" +// @Failure 500 {string} json "{"code":500, msg:"杩斿洖閿欒淇℃伅", success:false}" +// @Router /data/api-v/dbperson/joinDbTable [POST] +func (dbc *DbPersonController) JoinDbTable(c *gin.Context) { + var reqBody JoinDbTVo + c.BindJSON(&reqBody) + if reqBody.CaptureId == "" || len(reqBody.TableIds) ==0 { + util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎") + return + } + localConf, err := cache.GetServerInfo() + if err !=nil || localConf.AlarmIp == "" || localConf.AlarmPort <=0 { + util.ResponseFormat(c,code.ComError,"鎶ヨ璁剧疆鏈夎") + return + } + aiOceans, e := esApi.AIOceaninfosbyid([]string{reqBody.CaptureId}, config.EsInfo.EsIndex.AiOcean.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort))) + if e ==nil && aiOceans !=nil && len(aiOceans) == 1{ + var personPicUrl = ""//浜鸿劯鍥剧墖 + var feature = ""//鐗瑰緛 + if aiOceans[0].TargetInfo !=nil && len(aiOceans[0].TargetInfo) >0 { + personPicUrl = aiOceans[0].TargetInfo[0].PicSmUrl + } + fea, e2 := esApi.GetVideoPersonFaceFeatureById(reqBody.CaptureId, config.EsInfo.EsIndex.AiOcean.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort))) + if e2 == nil && fea !="" { + feature = fea + } + if personPicUrl != "" && feature != "" { + var dbpApi dbapi.DbPersonApi + b,d := dbpApi.JoinDbTable(reqBody.TableIds, feature, personPicUrl) + if b { + util.ResponseFormat(c,code.Success,d) + return + } else { + util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触") + return + } + } + } + util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触") +} + +type DbtSearch struct { + TableId string `json:"tableId"` + OrderName string `json:"orderName"` + OrderType string `json:"orderType"` + ContentValue string `json:"contentValue"` + Page int `json:"page"` + Size int `json:"size"` +} + +type DbPersonMove struct { + PersonId string `json:"personId"` + TableIds []string `json:"tableIds"` +} + +// @Security ApiKeyAuth +// @Summary 浜哄憳绉诲姩 +// @Description 浜哄憳绉诲姩 +// @Accept json +// @Produce json +// @Tags dbperson 搴曞簱浜哄憳 +// @Param obj body controllers.DbPersonMove true "绉诲姩鍙傛暟" +// @Success 200 {string} json "{"code":200, msg:"", success:true}" +// @Failure 500 {string} json "{"code":500, msg:"", success:false}" +// @Router /data/api-v/dbperson/move [POST] +func (dbc *DbPersonController) Move(c *gin.Context) { + var reqBody DbPersonMove + c.BindJSON(&reqBody) + if reqBody.PersonId == "" || len(reqBody.TableIds) == 0 { + util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎") + return + } + var dbpApi dbapi.DbPersonApi + b,d := dbpApi.Move(reqBody.PersonId, reqBody.TableIds) + if b { + util.ResponseFormat(c,code.Success,d) + } else { + util.ResponseFormat(c,code.ComError,"") + } +} + +// @Security ApiKeyAuth +// @Summary 浜哄憳澶嶅埗 +// @Description 浜哄憳澶嶅埗 +// @Accept json +// @Produce json +// @Tags dbperson 搴曞簱浜哄憳 +// @Param obj body controllers.DbPersonMove true "澶嶅埗鍙傛暟" +// @Success 200 {string} json "{"code":200, msg:"", success:true}" +// @Failure 500 {string} json "{"code":500, msg:"", success:false}" +// @Router /data/api-v/dbperson/copy [POST] +func (dbc *DbPersonController) Copy(c *gin.Context) { + var reqBody DbPersonMove + c.BindJSON(&reqBody) + if reqBody.PersonId == "" || len(reqBody.TableIds) == 0 { + util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎") + return + } + var dbpApi dbapi.DbPersonApi + b,d := dbpApi.Copy(reqBody.PersonId, reqBody.TableIds) + if b { + util.ResponseFormat(c,code.Success,d) + } else { + util.ResponseFormat(c,code.ComError,"") + } +} \ No newline at end of file -- Gitblit v1.8.0