From 39e568af96593fc7858ffdd088e4f75b74f55b53 Mon Sep 17 00:00:00 2001 From: sunty <suntianyu0923@163.com> Date: 星期一, 29 七月 2019 14:12:20 +0800 Subject: [PATCH] uddate return size 10000 --- service/FaceCompareService.go | 69 +++++++++++++++++++++++++++------- 1 files changed, 55 insertions(+), 14 deletions(-) diff --git a/service/FaceCompareService.go b/service/FaceCompareService.go index 4b61f2f..ae6f978 100644 --- a/service/FaceCompareService.go +++ b/service/FaceCompareService.go @@ -3,10 +3,13 @@ import ( esApi "basic.com/pubsub/esutil.git" "basic.com/pubsub/protomsg.git" - "basic.com/valib/deliver.git" "encoding/json" "github.com/gogo/protobuf/proto" "github.com/satori/go.uuid" + "nanomsg.org/go-mangos" + "nanomsg.org/go-mangos/protocol/req" + "nanomsg.org/go-mangos/transport/ipc" + "nanomsg.org/go-mangos/transport/tcp" "sort" "strconv" "sync" @@ -91,6 +94,7 @@ TaskName string `json:"taskName"` BaseInfo []DbPersonVo `json:"baseInfo"` VideoUrl string `json:"videoUrl"` + SdkName string `json:"sdkName"` } type DbPersonVo struct { BwType string `json:"bwType"` @@ -114,19 +118,12 @@ resultList :=make([]CompareResult,0) for _,str :=range compServerList{ reqUrl := "tcp://"+str - reqClient := deliver.NewClient(deliver.ReqRep, reqUrl) - err = reqClient.Send(b) - if err !=nil{ - logger.Debug("reqClient.Send err:",err) - continue - } - resultB, err := reqClient.Recv() - if err !=nil{ - logger.Debug("reqClient.Recv err:",err) + resultB := doCompareRequest(reqUrl,b) + if resultB == nil || len(*resultB) ==0 { continue } rList :=make([]protomsg.Esinfo,0) - err = json.Unmarshal(resultB, &rList) + err = json.Unmarshal(*resultB, &rList) if err !=nil{ logger.Debug("recv result Unmarshal err:", err) continue @@ -145,6 +142,36 @@ SetCompResultByNum(co) return co +} + +func doCompareRequest(url string,args []byte) *[]byte{ + logger.Debug("reqUrl:",url) + var sock mangos.Socket + var err error + var msg []byte + + if sock,err = req.NewSocket();err !=nil { + logger.Debug("can't new req socket:%s",err.Error()) + return nil + } + sock.AddTransport(ipc.NewTransport()) + sock.AddTransport(tcp.NewTransport()) + if err = sock.Dial(url);err !=nil { + logger.Debug("can't dial on req socket:%s",err.Error()) + return nil + } + sock.SetOption(mangos.OptionMaxRecvSize, 1024*1024*100) + //sock.SetOption(mangos.OptionRecvDeadline, time.Second*10) + if err = sock.Send(args);err !=nil { + logger.Debug("can't send message on push socket:%s",err.Error()) + return nil + } + if msg,err = sock.Recv();err !=nil { + logger.Debug("sock.Recv receive err:%s",err.Error()) + return nil + } + sock.Close() + return &msg } //濉厖鍚戝墠绔繑鍥炵殑鏁版嵁 @@ -174,7 +201,7 @@ dbpersons, _ = esApi.Dbpersoninfosbyid(personIds, index, esServerIp, esServerPort) } - logger.Debug("dbpersons:", dbpersons) + logger.Debug("dbpersons.len:", len(dbpersons)) if dbpersons !=nil { for _,p :=range dbpersons { var dbP = DbPersonVo { @@ -206,13 +233,13 @@ logger.Debug("videoPersons.len:",len(videopersons)) for _,vp :=range videopersons { isAlarmInt, _ := strconv.Atoi(vp.IsAlarm) - var bi []DbPersonVo + bi := make([]DbPersonVo,0) for _,p :=range vp.BaseInfo { bi = append(bi, DbPersonVo{ PersonId: p.PersonId, IdCard: p.IdCard, CompareScore: util.ParseScore(p.CompareScore), - MonitorLevel: p.MonitorLevel, + MonitorLevel: parseMonitorLevel(p.MonitorLevel), PersonName: p.PersonName, PersonPicUrl: p.PersonPicUrl, PhoneNum: p.PhoneNum, @@ -236,9 +263,23 @@ TaskId: vp.TaskId, VideoUrl: vp.VideoUrl, BaseInfo: bi, + SdkName: "浜鸿劯", } resultList = append(resultList,vpE) } } return resultList } + +func parseMonitorLevel(level string) string { + if level == "1" { + return "涓�绾�" + } + if level == "2" { + return "浜岀骇" + } + if level == "3" { + return "涓夌骇" + } + return level +} \ No newline at end of file -- Gitblit v1.8.0