From fdce56649322cee7058b7f1db4ee6530b31e6659 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 15 Nov 2021 16:42:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=BB=98=E8=AE=A4=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/user_business_analysis.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index f30631ae1..c8bd85bfb 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -3,6 +3,7 @@ package models import ( "encoding/json" "fmt" + "sort" "time" "code.gitea.io/gitea/modules/log" @@ -82,6 +83,14 @@ type UserBusinessAnalysisQueryOptions struct { EndTime int64 } +type UserBusinessAnalysisList []*UserBusinessAnalysis + +func (ulist UserBusinessAnalysisList) Swap(i, j int) { ulist[i], ulist[j] = ulist[j], ulist[i] } +func (ulist UserBusinessAnalysisList) Len() int { return len(ulist) } +func (ulist UserBusinessAnalysisList) Less(i, j int) bool { + return ulist[i].CommitCount > ulist[j].CommitCount +} + func QueryUserStaticData(startTime int64, endTime int64) []*UserBusinessAnalysis { log.Info("query startTime =" + fmt.Sprint(startTime) + " endTime=" + fmt.Sprint(endTime)) statictisSess := xStatistic.NewSession() @@ -115,12 +124,11 @@ func QueryUserStaticData(startTime int64, endTime int64) []*UserBusinessAnalysis } } - userBusinessAnalysisReturnList := make([]*UserBusinessAnalysis, len(resultMap)) - index := 0 + userBusinessAnalysisReturnList := UserBusinessAnalysisList{} for _, v := range resultMap { - userBusinessAnalysisReturnList[index] = v - index += 1 + userBusinessAnalysisReturnList = append(userBusinessAnalysisReturnList, v) } + sort.Sort(userBusinessAnalysisReturnList) log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) return userBusinessAnalysisReturnList } @@ -218,12 +226,11 @@ func QueryUserStaticDataPage(opts *UserBusinessAnalysisQueryOptions) ([]*UserBus } } - userBusinessAnalysisReturnList := make([]*UserBusinessAnalysis, len(resultMap)) - index := 0 + userBusinessAnalysisReturnList := UserBusinessAnalysisList{} for _, v := range resultMap { - userBusinessAnalysisReturnList[index] = v - index += 1 + userBusinessAnalysisReturnList = append(userBusinessAnalysisReturnList, v) } + sort.Sort(userBusinessAnalysisReturnList) log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) return userBusinessAnalysisReturnList, count }