From 8cadd19253062cf87eb6865c6b18aef84367b989 Mon Sep 17 00:00:00 2001 From: Victor_Jay Date: Mon, 1 Jun 2026 12:28:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=B0=81=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E6=88=B7NAV=E5=A4=B4=E5=83=8F=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF=E7=AD=89?= =?UTF-8?q?=E7=BA=A7Lv0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - FindByIDForAuth 的 Select 缺少 exp 列,导致 Validate() 中 user.Exp 始终为 0 - 正常用户由 tryAutoCheckIn 事后修正掩盖了该问题 - 封禁用户跳过 tryAutoCheckIn,导致错误值未被修正 --- internal/repository/user_repo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/repository/user_repo.go b/internal/repository/user_repo.go index 5d2dd42..4b7c91f 100644 --- a/internal/repository/user_repo.go +++ b/internal/repository/user_repo.go @@ -77,7 +77,7 @@ func (r *UserRepo) ExistsByEmailExclude(email string, excludeUID uint) (bool, er // FindByIDForAuth 认证专用查询:返回 uid/email/username/avatar/role/status func (r *UserRepo) FindByIDForAuth(userID uint) (*model.User, error) { var user model.User - err := r.db.Select("uid", "email", "username", "avatar", "role", "status"). + err := r.db.Select("uid", "email", "username", "avatar", "role", "status", "exp"). First(&user, userID).Error if err != nil { return nil, err