From 2d8f9d3ba5a48dc07d361c3fe91a150ca9947529 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 17 Jun 2022 17:49:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E9=AB=98=E9=A6=96=E9=A1=B5=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E9=80=9F=E5=BA=A6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/user.go | 14 +++++++++++++- routers/home.go | 27 +++++++-------------------- services/repository/repository.go | 5 ----- 3 files changed, 20 insertions(+), 26 deletions(-) diff --git a/models/user.go b/models/user.go index 7d4c8ce34..dd5a6f1d2 100755 --- a/models/user.go +++ b/models/user.go @@ -6,7 +6,6 @@ package models import ( - "code.gitea.io/gitea/modules/blockchain" "container/list" "context" "crypto/md5" @@ -25,6 +24,8 @@ import ( "time" "unicode/utf8" + "code.gitea.io/gitea/modules/blockchain" + "code.gitea.io/gitea/modules/avatar" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/generate" @@ -1498,6 +1499,17 @@ func GetUsersByIDs(ids []int64) (UserList, error) { return ous, err } +func GetUsersByNames(names []string) (UserList, error) { + ous := make([]*User, 0, len(names)) + if len(names) == 0 { + return ous, nil + } + err := x.In("name", names). + Asc("name"). + Find(&ous) + return ous, err +} + // GetUserIDsByNames returns a slice of ids corresponds to names. func GetUserIDsByNames(names []string, ignoreNonExistent bool) ([]int64, error) { ids := make([]int64, 0, len(names)) diff --git a/routers/home.go b/routers/home.go index 0746fc486..5f62c97be 100755 --- a/routers/home.go +++ b/routers/home.go @@ -672,9 +672,14 @@ func getRecommendOrg() ([]map[string]interface{}, error) { if err != nil { return nil, err } - resultOrg := make([]map[string]interface{}, 0) + names := make([]string, 0) for _, userName := range result { - user, err := models.GetUserByName(userName) + names = append(names, userName) + } + users, _ := models.GetUsersByNames(names) + resultOrg := make([]map[string]interface{}, 0) + for i, _ := range result { + user := users[i] if err == nil { userMap := make(map[string]interface{}) userMap["Name"] = user.Name @@ -789,24 +794,6 @@ func RecommendHomeInfo(ctx *context.Context) { ctx.JSON(http.StatusOK, mapInterface) } -// func RecommendOrgFromPromote(ctx *context.Context) { -// resultOrg, err := GetRecommendOrg() -// if err != nil { -// ctx.ServerError("500", err) -// return -// } -// ctx.JSON(200, resultOrg) -// } - -func RecommendRepoFromPromote(ctx *context.Context) { - result, err := repository.GetRecommendRepoFromPromote("projects") - if err != nil { - ctx.ServerError("500", err) - } else { - ctx.JSON(200, result) - } -} - func HomeTerm(ctx *context.Context) { ctx.HTML(200, tplHomeTerm) } diff --git a/services/repository/repository.go b/services/repository/repository.go index 80518b666..6bf4ab283 100644 --- a/services/repository/repository.go +++ b/services/repository/repository.go @@ -131,11 +131,6 @@ func GetRecommendRepoFromPromote(filename string) ([]map[string]interface{}, err repoMap["ID"] = fmt.Sprint(repo.ID) repoMap["Name"] = repo.Name repoMap["Alias"] = repo.Alias - if repo.RepoType == models.RepoCourse { - //Load creator - repo.GetCreator() - repoMap["Creator"] = repo.Creator - } repoMap["OwnerName"] = repo.OwnerName repoMap["NumStars"] = repo.NumStars