From 476c9d8cd54c8161877f0a3d3b3783ca1493be3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Sat, 13 Aug 2022 07:59:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(user):=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repository/user.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/repository/user.go b/repository/user.go index bf73949..0524fae 100644 --- a/repository/user.go +++ b/repository/user.go @@ -52,33 +52,35 @@ func (_UserRepository) FindUserByID(uid string) (*model.User, error) { return _postProcessSingle(user, has, err) } -func (_UserRepository) ListUserDetail(keyword string, userType int, userState *bool, page int) ([]*model.JoinedUserDetail, int64, error) { +func (_UserRepository) ListUserDetail(keyword string, userType int, userState *bool, page int) ([]model.JoinedUserDetail, int64, error) { var cond = builder.NewCond() if len(keyword) != 0 { keywordCond := builder.NewCond(). - Or(builder.Like{"user.username", keyword}). - Or(builder.Like{"user_detail.name", keyword}) + Or(builder.Like{"u.username", keyword}). + Or(builder.Like{"d.name", keyword}) cond = cond.And(keywordCond) } if userType != -1 { - cond = cond.And(builder.Eq{"user.type": userType}) + cond = cond.And(builder.Eq{"u.type": userType}) } if userState != nil { - cond = cond.And(builder.Eq{"user.enabled": *userState}) + cond = cond.And(builder.Eq{"u.enabled": *userState}) } startItem := (page - 1) * config.ServiceSettings.ItemsPageSize total, err := global.DBConn. - Join("INNER", "user_detail", "user_detail.id=user.id"). + Table("user_detail").Alias("d"). + Join("INNER", []string{"user", "u"}, "d.id=u.id"). Where(cond). - Count() + Count(&model.User{}) if err != nil { return nil, -1, err } - users := make([]*model.JoinedUserDetail, 0) + users := make([]model.JoinedUserDetail, 0) err = global.DBConn. - Join("INNER", "user_detail", "user_detail.id=user.id"). + Table("user_detail").Alias("d"). + Join("INNER", []string{"user", "u"}, "d.id=u.id"). Where(cond). Limit(config.ServiceSettings.ItemsPageSize, startItem). - Find(users) + Find(&users) return users, total, err }