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