liuxiaolong
2019-08-08 71dda110d29c7f2150a2e0a75839bc262901bacb
fix sort
1个文件已修改
51 ■■■■■ 已修改文件
controllers/fileController.go 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
}