From 7ccb97b2e25bc49e6039ca9beba3dda805d218bb Mon Sep 17 00:00:00 2001 From: zetaloop Date: Fri, 3 Apr 2026 19:12:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=99=BB=E5=BD=95=E5=92=8C=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E8=BF=94=E5=9B=9E=E5=AE=8C=E6=95=B4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/internal/logic/auth/loginLogic.go | 27 ++++++++++++++++- .../api/internal/logic/auth/registerLogic.go | 29 ++++++++++++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/app/users/api/internal/logic/auth/loginLogic.go b/app/users/api/internal/logic/auth/loginLogic.go index 62ab8fd..ed87ff7 100644 --- a/app/users/api/internal/logic/auth/loginLogic.go +++ b/app/users/api/internal/logic/auth/loginLogic.go @@ -7,11 +7,14 @@ import ( "context" "errors" "juwan-backend/app/users/rpc/usercenter" + "time" "juwan-backend/app/users/api/internal/svc" "juwan-backend/app/users/api/internal/types" + "github.com/jinzhu/copier" "github.com/zeromicro/go-zero/core/logx" + "k8s.io/apimachinery/pkg/util/json" ) type LoginLogic struct { @@ -50,7 +53,29 @@ func (l *LoginLogic) Login(req *types.LoginReq) (*types.LoginResp, string, error return nil, "", errors.New("login fail") } + userResp, err := l.svcCtx.UserRpc.GetUsersById(l.ctx, &usercenter.GetUsersByIdReq{Id: res.Id}) + if err != nil { + logx.Errorf("GetUsersById err: %v", err) + return nil, "", errors.New("get user failed") + } + + user := &types.User{} + err = copier.Copy(user, userResp.Users) + if err != nil { + logx.Errorf("copier.Copy err: %v", err) + return nil, "", errors.New("copy user failed") + } + var verificationStatus map[string]string + err = json.Unmarshal([]byte(userResp.Users.VerificationStatus), &verificationStatus) + if err != nil { + logx.Errorf("json.Unmarshal err: %v", err) + } + user.VerifiedRoles = userResp.Users.VerifiedRoles + user.VerificationStatus = verificationStatus + user.Role = userResp.Users.CurrentRole + user.CreatedAt = time.Unix(userResp.Users.CreatedAt, 0).Format(time.DateTime) + return &types.LoginResp{ - User: types.User{}, + User: *user, }, res.Token, nil } diff --git a/app/users/api/internal/logic/auth/registerLogic.go b/app/users/api/internal/logic/auth/registerLogic.go index 437e378..53a68d4 100644 --- a/app/users/api/internal/logic/auth/registerLogic.go +++ b/app/users/api/internal/logic/auth/registerLogic.go @@ -12,11 +12,14 @@ import ( "juwan-backend/common/utils/contextj" "juwan-backend/common/utils/pwdUtils" "regexp" + "time" "juwan-backend/app/users/api/internal/svc" "juwan-backend/app/users/api/internal/types" + "github.com/jinzhu/copier" "github.com/zeromicro/go-zero/core/logx" + "k8s.io/apimachinery/pkg/util/json" ) type RegisterLogic struct { @@ -78,7 +81,31 @@ func (l *RegisterLogic) Register(req *types.RegisterReq) (*types.RegisterResp, s return nil, "", errors.New(fmt.Sprintf("failed to register user: %v", err.Error())) } + userResp, err := l.svcCtx.UserRpc.GetUserByUsername(l.ctx, &pb.GetUserByUsernameReq{ + Username: req.Username, + }) + if err != nil { + logx.Errorf("GetUserByUsername err: %v", err) + return nil, "", errors.New("get user failed") + } + + user := &types.User{} + err = copier.Copy(user, userResp.Users) + if err != nil { + logx.Errorf("copier.Copy err: %v", err) + return nil, "", errors.New("copy user failed") + } + var verificationStatus map[string]string + err = json.Unmarshal([]byte(userResp.Users.VerificationStatus), &verificationStatus) + if err != nil { + logx.Errorf("json.Unmarshal err: %v", err) + } + user.VerifiedRoles = userResp.Users.VerifiedRoles + user.VerificationStatus = verificationStatus + user.Role = userResp.Users.CurrentRole + user.CreatedAt = time.Unix(userResp.Users.CreatedAt, 0).Format(time.DateTime) + return &types.RegisterResp{ - User: types.User{}, + User: *user, }, res.Res, nil }