From cfeba2dea02c1de54cde6c95f2a3f46c121d34aa Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 16 八月 2019 15:16:14 +0800
Subject: [PATCH] dev add publicDomain

---
 controllers/fileController.go |   61 +++++++++++-------------------
 1 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index 6d3318f..b1b1ba4 100644
--- a/controllers/fileController.go
+++ b/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
 }
 
@@ -327,13 +323,13 @@
 	}
 	var faceB []byte
 	if searchBody.CaptureId != "" {//鍋氭煡鎵炬浜�,鎼滄墍鏈夋姄鎷嶅拰搴曞簱
-		searchPeople, err := esApi.Dbpersoninfosbyid([]string{searchBody.CaptureId}, config.EsInfo.EsIndex.VideoPersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport)
+		searchBase64Fea, err := esApi.GetVideoPersonFaceFeatureById(searchBody.CaptureId, config.EsInfo.EsIndex.VideoPersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport)
 		if err !=nil {
 			util.ResponseFormat(c, code.ComError, "鎶撴媿鏁版嵁涓嶅瓨鍦紝璇锋鏌�")
 			return
 		}
-		if searchPeople !=nil && len(searchPeople) == 1{
-			decodeF, err := base64.StdEncoding.DecodeString(searchPeople[0].FaceFeature)
+		if searchBase64Fea !=""{
+			decodeF, err := base64.StdEncoding.DecodeString(searchBase64Fea)
 			if err !=nil {
 				util.ResponseFormat(c, code.ComError, "鏈潯鎶撴�曠壒寰佷笉鏄痓ase64锛岃妫�鏌�")
 				return
@@ -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

--
Gitblit v1.8.0