| @@ -3,6 +3,7 @@ package models | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| "fmt" | "fmt" | ||||
| "sort" | |||||
| "time" | "time" | ||||
| "code.gitea.io/gitea/modules/log" | "code.gitea.io/gitea/modules/log" | ||||
| @@ -82,6 +83,14 @@ type UserBusinessAnalysisQueryOptions struct { | |||||
| EndTime int64 | 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 { | func QueryUserStaticData(startTime int64, endTime int64) []*UserBusinessAnalysis { | ||||
| log.Info("query startTime =" + fmt.Sprint(startTime) + " endTime=" + fmt.Sprint(endTime)) | log.Info("query startTime =" + fmt.Sprint(startTime) + " endTime=" + fmt.Sprint(endTime)) | ||||
| statictisSess := xStatistic.NewSession() | 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 { | for _, v := range resultMap { | ||||
| userBusinessAnalysisReturnList[index] = v | |||||
| index += 1 | |||||
| userBusinessAnalysisReturnList = append(userBusinessAnalysisReturnList, v) | |||||
| } | } | ||||
| sort.Sort(userBusinessAnalysisReturnList) | |||||
| log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) | log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) | ||||
| return 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 { | for _, v := range resultMap { | ||||
| userBusinessAnalysisReturnList[index] = v | |||||
| index += 1 | |||||
| userBusinessAnalysisReturnList = append(userBusinessAnalysisReturnList, v) | |||||
| } | } | ||||
| sort.Sort(userBusinessAnalysisReturnList) | |||||
| log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) | log.Info("return size=" + fmt.Sprint(len(userBusinessAnalysisReturnList))) | ||||
| return userBusinessAnalysisReturnList, count | return userBusinessAnalysisReturnList, count | ||||
| } | } | ||||