From 71dda110d29c7f2150a2e0a75839bc262901bacb Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 08 八月 2019 19:12:57 +0800
Subject: [PATCH] fix sort

---
 controllers/fileController.go |   51 +++++++++++++++++++--------------------------------
 1 files changed, 19 insertions(+), 32 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index 8ebc80c..156ecb4 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)
 		}
 	}
@@ -243,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 {
@@ -288,20 +286,9 @@
 				BaseInfo: bi,
 				SdkName: "浜鸿劯",
 			}
-			resultList = append(resultList,vpE)
+			resultList[captureM[vp.Id].Index] = vpE
 		}
 	}
-	var scorePre []float32
-	for _,f1 :=range resultList {
-		scorePre = append(scorePre, f1.CompareScore)
-	}
-	logger.Debug("comp 鎺掑簭鍓嶅垎鍊兼暟缁勶細",scorePre)
-	sort.Sort(resultList)
-	var scoreAf []float32
-	for _,f2 :=range resultList {
-		scoreAf = append(scoreAf, f2.CompareScore)
-	}
-	logger.Debug("comp 鎺掑簭鍚庡垎鍊兼暟缁勶細",scoreAf)
 	return  resultList
 }
 

--
Gitblit v1.8.0