From 85c37f2bbe78ddff5cf4fcafeef439612f661edc Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 5 Sep 2022 14:34:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/user_invitation.go | 15 ++++++++++----- routers/user/Invitation.go | 12 +++++++++++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/models/user_invitation.go b/models/user_invitation.go index 56de43d01..6cb2fff81 100644 --- a/models/user_invitation.go +++ b/models/user_invitation.go @@ -3,6 +3,7 @@ package models import ( "fmt" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/timeutil" ) @@ -49,16 +50,20 @@ func InsertInvitaion(invitationUser *Invitation) error { return err } -func QueryInvitaionBySrcUserId(srcUserId int64) []*Invitation { +func QueryInvitaionBySrcUserId(srcUserId int64, start int, pageSize int) ([]*Invitation, int64) { statictisSess := xStatistic.NewSession() defer statictisSess.Close() cond := "src_user_id =" + fmt.Sprint(srcUserId) - + allCount, err := statictisSess.Where(cond).Count(new(Invitation)) + if err != nil { + log.Info("query error." + err.Error()) + return nil, 0 + } invitationList := make([]*Invitation, 0) - if err := statictisSess.Table(new(Invitation)).Where(cond).OrderBy("created_unix desc"). + if err := statictisSess.Table(new(Invitation)).Where(cond).OrderBy("created_unix desc").Limit(pageSize, start). Find(&invitationList); err != nil { - return nil + return nil, 0 } - return invitationList + return invitationList, allCount } diff --git a/routers/user/Invitation.go b/routers/user/Invitation.go index 78718b33f..370631bb9 100644 --- a/routers/user/Invitation.go +++ b/routers/user/Invitation.go @@ -18,6 +18,14 @@ const ( ) func GetInvitaionCode(ctx *context.Context) { + page := ctx.QueryInt("page") + if page <= 0 { + page = 1 + } + pageSize := ctx.QueryInt("pageSize") + if pageSize <= 0 { + pageSize = setting.UI.IssuePagingNum + } url := setting.RecommentRepoAddr + "invitaion_page" result, err := repository.RecommendFromPromote(url) @@ -35,7 +43,9 @@ func GetInvitaionCode(ctx *context.Context) { if ctx.IsSigned { resultJsonMap["invitation_code"] = getInvitaionCode(ctx) - resultJsonMap["invitation_users"] = models.QueryInvitaionBySrcUserId(ctx.User.ID) + re, count := models.QueryInvitaionBySrcUserId(ctx.User.ID, (page-1)*pageSize, pageSize) + resultJsonMap["invitation_users"] = re + resultJsonMap["invitation_users_count"] = count } ctx.JSON(200, resultJsonMap)