package user import ( "context" "muyu-apiserver/gateway/internal/svc" "muyu-apiserver/gateway/internal/types" "muyu-apiserver/pkg/ctxdata" "muyu-apiserver/rpc/system/pb" "github.com/zeromicro/go-zero/core/logx" ) type GetUserLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewGetUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetUserLogic { return &GetUserLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *GetUserLogic) GetUser() (resp *types.UserInfo, err error) { id := ctxdata.GetPathId(l.ctx) rpcResp, err := l.svcCtx.SystemRpc.GetUser(l.ctx, &pb.GetUserReq{ UserId: id, }) if err != nil { return nil, err } return &types.UserInfo{ UserId: rpcResp.UserId, Username: rpcResp.Username, RealName: rpcResp.RealName, Phone: rpcResp.Phone, Email: rpcResp.Email, Avatar: rpcResp.Avatar, Status: rpcResp.Status, RoleId: rpcResp.RoleId, RoleName: rpcResp.RoleName, LastLoginTime: rpcResp.LastLoginTime, CreatedAt: rpcResp.CreatedAt, UpdatedAt: rpcResp.UpdatedAt, }, nil }