app-cloudep-member-server/internal/logic/account/get_user_info_logic.go

57 lines
1.5 KiB
Go
Raw Normal View History

2024-12-30 03:58:14 +00:00
package accountlogic
import (
"context"
2025-02-04 08:58:01 +00:00
"code.30cm.net/digimon/app-cloudep-member-server/gen_result/pb/member"
"code.30cm.net/digimon/app-cloudep-member-server/internal/svc"
2025-02-08 01:59:21 +00:00
"code.30cm.net/digimon/app-cloudep-member-server/pkg/domain/usecase"
2024-12-30 03:58:14 +00:00
"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) {
2025-02-08 01:59:21 +00:00
info, err := l.svcCtx.AccountUseCase.GetUserInfo(l.ctx, usecase.GetUserInfoRequest{
UID: in.GetUid(),
NickName: in.GetNickName(),
})
if err != nil {
return nil, err
}
2024-12-30 03:58:14 +00:00
2025-02-08 01:59:21 +00:00
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
2024-12-30 03:58:14 +00:00
}