liuxiaolong
2019-08-21 d96f024e19c72065f248df0508911f487b72505b
service/FaceCompareService.go
@@ -63,21 +63,22 @@
var CaptureTable = "capturetable" // 抓拍库
func (sv *FaceCompareService) Compare() *CompareOnce{
func (sv *FaceCompareService) CompareVideoPersons() *CompareList{
   sv.CompareArgs.TableIds = []string { CaptureTable }
   b, err := proto.Marshal(&sv.CompareArgs)
   compServerList := config.CompServerInfo.Url
   logger.Debug("compServerList:", compServerList)
   //1.向各个compare进程发起请求拿到比对结果
   esCompServerList := config.EsCompServerInfo.Url
   logger.Debug("compServerList:", esCompServerList)
   //1.向各个Es compare进程发起请求拿到比对结果
   var resultList CompareList
   //resultList :=make([]*protomsg.SdkCompareEach,0)
   for _,str :=range compServerList{
   for _,str :=range esCompServerList{
      reqUrl := "tcp://"+str
      resultB := doCompareRequest(reqUrl,b)
      if resultB == nil || len(*resultB) ==0 {
         continue
      }
      var sdkCompResult protomsg.SdkCompareResult
      //rList :=make([]protomsg.Esinfo,0)
      err = proto.Unmarshal(*resultB, &sdkCompResult)
      if err !=nil {
         logger.Debug("comp sdkCompareResult unmarshal err:", err)
@@ -87,19 +88,41 @@
      logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
      if len(sdkCompResult.CompareResult) >0 {
         resultList = append(resultList, sdkCompResult.CompareResult...)
         //resultList = append(resultList, FillDataToCompareResult(&sdkCompResult)...)
      }
   }
   logger.Debug("comp totalList.len:", len(resultList))
   //2.缓存比对结果
   co := &CompareOnce{
      CompareNum: sv.CompareNum,
      CompareData: &resultList,
   }
   SetCompResultByNum(co)
   return &resultList
}
   return co
//比对底库
func (sv *FaceCompareService) CompareDbPersons() *CompareList{
   b, err := proto.Marshal(&sv.CompareArgs)
   dbPersonCompServerUrl := config.DbPersonCompInfo.Url
   logger.Debug("comp Server url:", dbPersonCompServerUrl)
   var resultList CompareList
   reqUrl := "tcp://"+dbPersonCompServerUrl
   resultB := doCompareRequest(reqUrl,b)
   if resultB == nil || len(*resultB) ==0 {
      return nil
   }
   var sdkCompResult protomsg.SdkCompareResult
   err = proto.Unmarshal(*resultB, &sdkCompResult)
   if err !=nil {
      logger.Debug("comp sdkCompareResult unmarshal err:", err)
      return nil
   }
   logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
   if len(sdkCompResult.CompareResult) >0 {
      resultList = append(resultList, sdkCompResult.CompareResult...)
   }
   logger.Debug("comp totalList.len:", len(resultList))
   return &resultList
}
func doCompareRequest(url string,args []byte) *[]byte{