From 0cc8d28ff6bae56fe8f4388aedd4ab1d46a11c96 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期三, 24 七月 2019 19:03:39 +0800 Subject: [PATCH] config compServerList --- controllers/fileController.go | 68 ++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 19 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index fe3f7d5..2123a1b 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -6,6 +6,7 @@ "basic.com/valib/deliver.git" "bytes" "encoding/base64" + "encoding/json" "errors" "fmt" "github.com/gin-gonic/gin" @@ -27,6 +28,7 @@ "webserver/extend/util" "webserver/models" "webserver/service" + esApi "basic.com/pubsub/esutil.git" ) type FileController struct { @@ -103,7 +105,13 @@ } var faceExtractedMap = make(map[string]FaceExtract,0) -// @Description 浜鸿劯鎻愬彇 +// @Summary 浜鸿劯鎻愬彇 +// @Description 浜鸿劯鎻愬彇 +// @Produce json +// @Tags 浠ュ浘鎼滃浘 +// @Param file formData file true "浜哄憳鍥剧墖" +// @Success 200 {string} json "{"code":200, msg:"", data:"", success:true}" +// @Failure 500 {string} json "{"code":500, msg:"", data:"", success:false}" // @Router /data/api-v/dbperson/faceExtract [POST] func (controller FileController) FaceExtract(c *gin.Context) { file, _, err := c.Request.FormFile("file") //image杩欎釜鏄痷plaodify鍙傛暟瀹氫箟涓殑 'fileObjName':'image' @@ -130,17 +138,20 @@ urlArr = append(urlArr, weedFilePath) } } - if len(urlArr) == 0{ - util.ResponseFormat(c,code.ComError,"鏈彁鍙栧埌浜鸿劯") - } else { - util.ResponseFormat(c,code.Success,urlArr) - } + + util.ResponseFormat(c,code.Success,urlArr) } else { util.ResponseFormat(c,code.ComError,"鏈彁鍙栧埌浜鸿劯") } } -// @Description 浠ュ浘鎼滃浘 +// @Summary 浠ュ浘鎼滃浘 +// @Description 浠ュ浘鎼滃浘 +// @Produce json +// @Tags 浠ュ浘鎼滃浘 +// @Param url formData string true "url" +// @Success 200 {string} json "{"code":200, msg:"", data:"", success:true}" +// @Failure 500 {string} json "{"code":500, msg:"", data:"", success:false}" // @Router /data/api-v/dbperson/searchByPhoto [POST] func (controller FileController) SearchByPhoto(c *gin.Context) { photoUrl := c.Request.FormValue("url") @@ -152,8 +163,6 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") return } else { - reqUrl := "tcp://192.168.1.66:40010" - reqClient := deliver.NewClient(deliver.ReqRep, reqUrl) arg := protomsg.CompareArgs{ FaceFeature:face.FaceBytes, CompareThreshold:0.2, @@ -163,17 +172,38 @@ util.ResponseFormat(c, code.ComError, "璇锋眰marshal澶辫触") return } - err = reqClient.Send(b) - if err !=nil{ - util.ResponseFormat(c, code.ComError, "姣斿鏈嶅姟璇锋眰澶辫触") - return + compServerList := config.CompServerInfo.Url + fmt.Println("compServerList:", compServerList) + resultList :=make([]protomsg.Dbperson,0) + for _,str :=range compServerList{ + reqUrl := "tcp://"+str + reqClient := deliver.NewClient(deliver.ReqRep, reqUrl) + err = reqClient.Send(b) + if err !=nil{ + continue + } + resultB, err := reqClient.Recv() + if err !=nil{ + continue + } + m :=make(map[string]float32,0) + err = json.Unmarshal(resultB, &m) + if err !=nil{ + continue + } + personIds := make([]string,len(m)) + for k,_ :=range m{ + personIds = append(personIds,k) + } + esServerIp := config.EsInfo.Masterip + esServerPort := config.EsInfo.Httpport + index := config.EsInfo.EsIndex.Dbtablepersons.IndexName + dbpeople, e := esApi.Dbpersoninfosbyid(personIds, index, esServerIp, esServerPort) + if e ==nil{ + resultList = append(resultList,dbpeople...) + } } - msg, err := reqClient.Recv() - if err !=nil{ - util.ResponseFormat(c, code.ComError, "姣斿鏈嶅姟鍝嶅簲澶辫触") - return - } - fmt.Println("compareReuslt:",msg) + util.ResponseFormat(c,code.Success,resultList) } } -- Gitblit v1.8.0