package accountlogic import ( "context" "code.30cm.net/digimon/app-cloudep-member-server/gen_result/pb/member" "code.30cm.net/digimon/app-cloudep-member-server/internal/svc" "code.30cm.net/digimon/app-cloudep-member-server/pkg/domain/usecase" "github.com/zeromicro/go-zero/core/logx" ) type GetUserInfoLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewGetUserInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetUserInfoLogic { return &GetUserInfoLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // GetUserInfo 取得會員資訊 func (l *GetUserInfoLogic) GetUserInfo(in *member.GetUserInfoReq) (*member.GetUserInfoResp, error) { info, err := l.svcCtx.AccountUseCase.GetUserInfo(l.ctx, usecase.GetUserInfoRequest{ UID: in.GetUid(), NickName: in.GetNickName(), }) if err != nil { return nil, err } return &member.GetUserInfoResp{ Data: &member.UserInfo{ Uid: info.UID, AvatarUrl: info.AvatarURL, NickName: info.Nickname, FullName: info.FullName, GenderCode: info.GenderCode, Birthday: info.Birthdate, Phone: info.PhoneNumber, Email: info.Email, Address: info.Address, AlarmType: member.AlarmType(info.AlarmCategory), Status: member.MemberStatus(info.UserStatus), Language: info.PreferredLanguage, Currency: info.Currency, CreateTime: info.CreateTime, UpdateTime: info.UpdateTime, }, }, nil }