From ffa86a861692056ca78943059b1b5c04c78d17c9 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 30 七月 2019 19:07:24 +0800
Subject: [PATCH] tasksdkrule funcs
---
service/FaceCompareService.go | 84 +++++++++++++++++++++++++++++++----------
1 files changed, 63 insertions(+), 21 deletions(-)
diff --git a/service/FaceCompareService.go b/service/FaceCompareService.go
index dcbad3c..bf1a322 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"
@@ -83,7 +86,7 @@
Content string `json:"content"`
IsAlarm int `json:"isAlarm"`
PicMaxUrl string `json:"picMaxUrl"`
- PicSmUrl string `json:"picSmUrl"`
+ PicSmUrl []string `json:"picSmUrl"`
Sex string `json:"sex"`
AgeDescription string `json:"ageDescription"`
Race string `json:"race"`
@@ -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,28 +118,22 @@
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)
+ logger.Debug("comp recv result Unmarshal err:", err)
continue
}
- logger.Debug("len(rList):", len(rList))
+ logger.Debug("comp len(rList):", len(rList))
if len(rList) >0 {
resultList = append(resultList, FillDataToCompareResult(&rList)...)
}
}
+ logger.Debug("comp totalList.len:", len(resultList))
//2.缂撳瓨姣斿缁撴灉
co := &CompareOnce{
@@ -145,6 +143,36 @@
SetCompResultByNum(co)
return co
+}
+
+func doCompareRequest(url string,args []byte) *[]byte{
+ logger.Debug("comp reqUrl:",url)
+ var sock mangos.Socket
+ var err error
+ var msg []byte
+
+ if sock,err = req.NewSocket();err !=nil {
+ logger.Debug("comp 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("comp 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("comp can't send message on push socket:%s",err.Error())
+ return nil
+ }
+ if msg,err = sock.Recv();err !=nil {
+ logger.Debug("comp sock.Recv receive err:%s",err.Error())
+ return nil
+ }
+ sock.Close()
+ return &msg
}
//濉厖鍚戝墠绔繑鍥炵殑鏁版嵁
@@ -164,8 +192,8 @@
personIds = append(personIds,v.Id)
}
}
- logger.Debug("personIds:", personIds)
- logger.Debug("captureIds:",captureIds)
+ logger.Debug("comp personIds:", personIds)
+ logger.Debug("comp captureIds:",captureIds)
esServerIp := config.EsInfo.Masterip
esServerPort := config.EsInfo.Httpport
index := config.EsInfo.EsIndex.Dbtablepersons.IndexName
@@ -174,7 +202,7 @@
dbpersons, _ = esApi.Dbpersoninfosbyid(personIds, index, esServerIp, esServerPort)
}
- logger.Debug("dbpersons:", dbpersons)
+ logger.Debug("comp dbpersons.len:", len(dbpersons))
if dbpersons !=nil {
for _,p :=range dbpersons {
var dbP = DbPersonVo {
@@ -201,18 +229,18 @@
}
var capturePersons []protomsg.Videopersons
if len(captureIds) >0 {
- logger.Debug("capturePersons:", capturePersons)
+ logger.Debug("comp capturePersons.len:", len(capturePersons))
videopersons, _ := esApi.Videopersonsinfosbyid(captureIds, config.EsInfo.EsIndex.VideoPersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport)
- logger.Debug("videoPersons.len:",len(videopersons))
+ logger.Debug("comp 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 +264,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