package logic
import (
"context"
"google.golang.org/grpc/status"
"gitcode.com/HuaweiCloudDeveloper/OpenSourceForHuaweiDemoGo/apps/user/rpc/internal/svc"
"gitcode.com/HuaweiCloudDeveloper/OpenSourceForHuaweiDemoGo/apps/user/rpc/user"
"github.com/zeromicro/go-zero/core/logx"
)
type UserInfoLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewUserInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserInfoLogic {
return &UserInfoLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *UserInfoLogic) UserInfo(in *user.UserInfoReq) (*user.UserInfoResp, error) {
userInfo, err := l.svcCtx.UserModel.FindOne(l.ctx, in.Id)
if err != nil {
return nil, status.Error(500, "用户不存在")
}
return &user.UserInfoResp{
User: &user.UserEntity{
Id: userInfo.Id,
Name: userInfo.Name.String,
Mobile: userInfo.Mobile,
Gender: userInfo.Gender,
},
}, nil
}