// Code scaffolded by goctl. Safe to edit. // goctl 1.9.2 package user import ( "context" "errors" "juwan-backend/app/users/api/internal/contextx" "juwan-backend/app/users/rpc/usercenter" "juwan-backend/common/converter" "juwan-backend/app/users/api/internal/svc" "juwan-backend/app/users/api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type UpdateMeLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 更改当前登录用户信息 func NewUpdateMeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateMeLogic { return &UpdateMeLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *UpdateMeLogic) UpdateMe(req *types.UpdateUserInfoReq) (resp *types.UserInfo, err error) { userId, err := contextx.UserIDFrom(l.ctx) if err != nil { return nil, err } res, err := l.svcCtx.UserRpc.UpdateUsers(l.ctx, &usercenter.UpdateUsersReq{ Id: userId, Nickname: req.Nickname, Avatar: req.Avatar, Bio: req.Bio, VerifiedRoles: nil, }) if err != nil { return nil, errors.New("update info failed") } err = converter.StructToStruct(res, &resp) if err != nil { logx.Errorf("unmarshal user info failed, err:%v.", err) return nil, errors.New("unmarshal user info failed") } return }