diff --git a/models/repo_activity_custom.go b/models/repo_activity_custom.go index 04f8f7ae1..7f343bdc6 100644 --- a/models/repo_activity_custom.go +++ b/models/repo_activity_custom.go @@ -14,7 +14,6 @@ type ContributorWithUserId struct { UserId int64 IsAdmin bool RelAvatarLink string - Email string } func GetRepoKPIStats(repo *Repository) (*git.RepoKPIStats, error) { @@ -127,12 +126,12 @@ func getRepoKPIStats(repoPath string, wikiPath string) (*git.RepoKPIStats, error } -func GetTop10Contributor(repoPath string) ([]ContributorWithUserId, error) { +func GetTop10Contributor(repoPath string) ([]*ContributorWithUserId, error) { contributors, err := git.GetContributors(repoPath) if err != nil { - return make([]ContributorWithUserId, 0), err + return make([]*ContributorWithUserId, 0), err } - contributorDistinctDict := make(map[string]ContributorWithUserId, 0) + contributorDistinctDict := make(map[string]*ContributorWithUserId, 0) if contributors != nil { for _, contributor := range contributors { if strings.Compare(contributor.Email, "") == 0 { @@ -144,12 +143,15 @@ func GetTop10Contributor(repoPath string) ([]ContributorWithUserId, error) { value, ok := contributorDistinctDict[user.Email] if !ok { - contributorDistinctDict[user.Email] = ContributorWithUserId{ - contributor, + contributorDistinctDict[user.Email] = &ContributorWithUserId{ + git.Contributor{ + contributor.CommitCnt, + user.Name, + user.Email, + }, user.ID, user.IsAdmin, user.RelAvatarLink(), - user.Email, } } else { @@ -159,12 +161,11 @@ func GetTop10Contributor(repoPath string) ([]ContributorWithUserId, error) { } else { value, ok := contributorDistinctDict[contributor.Email] if !ok { - contributorDistinctDict[contributor.Email] = ContributorWithUserId{ + contributorDistinctDict[contributor.Email] = &ContributorWithUserId{ contributor, -1, false, "", - contributor.Email, } } else { value.CommitCnt += contributor.CommitCnt @@ -173,7 +174,7 @@ func GetTop10Contributor(repoPath string) ([]ContributorWithUserId, error) { } } - v := make([]ContributorWithUserId, 0, len(contributorDistinctDict)) + v := make([]*ContributorWithUserId, 0, len(contributorDistinctDict)) for _, value := range contributorDistinctDict { v = append(v, value) } @@ -188,7 +189,7 @@ func GetTop10Contributor(repoPath string) ([]ContributorWithUserId, error) { return v[0:10], nil } } - return make([]ContributorWithUserId, 0), nil + return make([]*ContributorWithUserId, 0), nil } func setKeyContributerDict(contributorDistinctDict map[string]int, email string, keyContributorsDict map[string]struct{}) { diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index 9e9bf7f3a..502cec806 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -90,15 +90,7 @@ 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 { - if ulist[i].CommitCount > ulist[j].CommitCount { - return true - } else { - if ulist[i].CommitCount == ulist[j].CommitCount { - return ulist[i].ID > ulist[j].ID - } else { - return false - } - } + return ulist[i].ID > ulist[j].ID } func QueryUserStaticData(startTime int64, endTime int64) []*UserBusinessAnalysis { @@ -199,17 +191,16 @@ func QueryUserStaticDataPage(opts *UserBusinessAnalysisQueryOptions) ([]*UserBus } statictisSess.Limit(opts.PageSize, start) } - statictisSess.OrderBy("count_date desc") userBusinessAnalysisList := make([]*UserBusinessAnalysis, 0) - if err := statictisSess.Table("user_business_analysis").Where(cond). + if err := statictisSess.Table("user_business_analysis").Where(cond).OrderBy("id desc"). Find(&userBusinessAnalysisList); err != nil { return nil, 0 } resultMap := make(map[int64]*UserBusinessAnalysis) - if opts.Page >= 0 && opts.PageSize > 0 && len(userBusinessAnalysisList) > 0 { + if len(userBusinessAnalysisList) > 0 { var newAndCond = builder.NewCond() var newOrCond = builder.NewCond() for _, userRecord := range userBusinessAnalysisList { @@ -228,9 +219,8 @@ func QueryUserStaticDataPage(opts *UserBusinessAnalysisQueryOptions) ([]*UserBus builder.Lte{"count_date": opts.EndTime}, ) } - userBusinessAnalysisList = make([]*UserBusinessAnalysis, 0) - if err := statictisSess.Table("user_business_analysis").Where(newAndCond). + if err := statictisSess.Table("user_business_analysis").Where(newAndCond).OrderBy("count_date desc"). Find(&userBusinessAnalysisList); err != nil { return nil, 0 } diff --git a/routers/api/v1/repo/repo_dashbord.go b/routers/api/v1/repo/repo_dashbord.go index 519077af2..8f7f03533 100644 --- a/routers/api/v1/repo/repo_dashbord.go +++ b/routers/api/v1/repo/repo_dashbord.go @@ -362,7 +362,7 @@ func generateRadarSql(beginTime time.Time, endTime time.Time, repoId int64) stri } func generateTargetSql(beginTime time.Time, endTime time.Time, repoId int64) string { - sql := "SELECT date, num_visits,num_downloads,num_commits FROM repo_statistic" + + sql := "SELECT date, num_visits,num_downloads_added as num_downloads,num_commits_added as num_commits FROM repo_statistic" + " where repo_id=" + strconv.FormatInt(repoId, 10) + " and created_unix >=" + strconv.FormatInt(beginTime.Unix(), 10) + " and created_unix<" + strconv.FormatInt(endTime.Unix(), 10) + " order by created_unix desc" diff --git a/web_src/js/components/ProAnalysis.vue b/web_src/js/components/ProAnalysis.vue index d0f0f924a..6371fa884 100755 --- a/web_src/js/components/ProAnalysis.vue +++ b/web_src/js/components/ProAnalysis.vue @@ -217,7 +217,7 @@ >