liuxiaolong
2019-08-16 4622e4986f10bcb6fbccff97b04c225d7dcf58fe
controllers/fileController.go
@@ -184,33 +184,31 @@
   Enable int32 `json:"enable"`
}
type CompareSortResult []CompareResult
func (s CompareSortResult) Len() int{
   return len(s)
}
func (s CompareSortResult) Swap(i,j int){
   s[i],s[j] = s[j],s[i]
}
func (s CompareSortResult) Less(i,j int) bool{
   return s[i].CompareScore > s[j].CompareScore
type ScoreIndex struct {
   CompareScore float32
   Index int
}
//填充向前端返回的数据
func FillDataToCompareResult(compResult *protomsg.SdkCompareResult) CompareSortResult {
   //resultList :=make([]CompareResult,0)
   var resultList = CompareSortResult{}
func FillDataToCompareResult(compResult *protomsg.SdkCompareResult) []CompareResult {
   dbPersonM := make(map[string]*protomsg.SdkCompareEach, 0)
   captureM := make(map[string]*protomsg.SdkCompareEach, 0)
   var resultList = make([]CompareResult, len(compResult.CompareResult))
   dbPersonM := make(map[string]ScoreIndex, 0)
   captureM := make(map[string]ScoreIndex, 0)
   personIds := make([]string,0)
   captureIds := make([]string,0)
   for _,v :=range compResult.CompareResult{
   for idx,v :=range compResult.CompareResult{
      if v.Tableid == service.CaptureTable {
         captureM[v.Id] = v
         captureM[v.Id] = ScoreIndex{
            Index: idx,
            CompareScore: v.CompareScore,
         }
         captureIds = append(captureIds,v.Id)
      } else {
         dbPersonM[v.Id] = v
         dbPersonM[v.Id] = ScoreIndex{
            Index: idx,
            CompareScore: v.CompareScore,
         }
         personIds = append(personIds,v.Id)
      }
   }
@@ -224,8 +222,7 @@
      dbpersons, _ = esApi.Dbpersoninfosbyid(personIds, index, esServerIp, esServerPort)
   }
   logger.Debug("comp dbpersons.len:", len(dbpersons))
   if dbpersons !=nil {
   if len(dbpersons) >0 {
      for _,p :=range dbpersons {
         var dbP = DbPersonVo {
            PersonId: p.Id,
@@ -244,10 +241,10 @@
            dbP.BwType = dbTableInfos[0].BwType
            dbP.TableName = dbTableInfos[0].TableName
         }
         var cr = CompareResult{
         resultList[dbPersonM[p.Id].Index] = CompareResult{
            BaseInfo:[]DbPersonVo{ dbP },
         }
         resultList = append(resultList,cr)
      }
   }
   if len(captureIds) >0 {
@@ -289,10 +286,9 @@
            BaseInfo: bi,
            SdkName: "人脸",
         }
         resultList = append(resultList,vpE)
         resultList[captureM[vp.Id].Index] = vpE
      }
   }
   sort.Sort(resultList)
   return  resultList
}
@@ -405,18 +401,7 @@
   logger.Debug("comp 比对结束,用时:",time.Since(timeStart))
   m := make(map[string]interface{},3)
   if totalData != nil && totalData.Len() > 0{
      //按分值排序
      var scorePre []float32
      for _,f1 :=range *totalData {
         scorePre = append(scorePre, f1.CompareScore)
      }
      logger.Debug("comp 排序前分值数组:",scorePre)
      sort.Sort(totalData)
      var scoreAf []float32
      for _,f2 :=range *totalData {
         scoreAf = append(scoreAf, f2.CompareScore)
      }
      logger.Debug("comp 排序后分值数组:",scoreAf)
      total := totalData.Len()
      m["compareNum"] = compareOnce.CompareNum