// Code scaffolded by goctl. Safe to edit. // goctl 1.9.2 package user import ( "context" "errors" "juwan-backend/app/users/rpc/usercenter" "juwan-backend/common/converter" "juwan-backend/common/utils/contextj" "time" "juwan-backend/app/users/api/internal/svc" "juwan-backend/app/users/api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type GetMeLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 获取当前登录用户信息 func NewGetMeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetMeLogic { return &GetMeLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *GetMeLogic) GetMe() (resp *types.User, err error) { userId, err := contextj.UserIDFrom(l.ctx) if err != nil { return nil, errors.New("illegal id") } user, err := l.svcCtx.UserRpc.GetUsersById(l.ctx, &usercenter.GetUsersByIdReq{ Id: userId, }) if err != nil { return nil, errors.New("get user by id error") } err = converter.StructToStruct(user, &resp) createAt := time.Unix(user.Users.CreatedAt, 0) resp.CreatedAt = createAt.Format(time.DateTime) if err != nil { return nil, errors.New("to struct error") } return }