go-kratos/app/ucenter/internal/service/user.go

53 lines
1.3 KiB
Go

package service
import (
"context"
api "ky-go-kratos/api/ucenter/user"
"ky-go-kratos/app/ucenter/internal/biz"
"github.com/go-kratos/kratos/v2/log"
"google.golang.org/protobuf/types/known/timestamppb"
)
type UserService struct {
api.UnimplementedUserServer
uc *biz.UserUsecase
}
func NewUserService(uc *biz.UserUsecase) *UserService {
return &UserService{uc: uc}
}
func (s *UserService) GetUserInfo(ctx context.Context, req *api.GetUserInfoRequest) (*api.GetUserInfoReply, error) {
data, err := s.uc.GetUserInfo(ctx, req)
if err != nil {
return nil, err
}
users := make([]*api.GetUserInfoReply_User, 0, len(data))
for _, u := range data {
users = append(users, &api.GetUserInfoReply_User{
Id: u.ID,
Name: u.Name,
Nickname: u.Nickname,
Email: u.Email,
Phone: u.Phone,
IsDeleted: u.IsDeleted,
CreatedAt: timestamppb.New(u.CreatedAt),
UpdatedAt: timestamppb.New(u.UpdatedAt),
DeletedAt: timestamppb.New(u.DeletedAt),
})
}
return &api.GetUserInfoReply{Users: users}, nil
}
func (s *UserService) CreateUserInfo(ctx context.Context, req *api.CreateUserInfoRequest) (*api.CreateUserInfoReply, error) {
log.Info(req)
data, err := s.uc.CreateUserInfo(ctx, req)
if err != nil {
return nil, err
}
return data, nil
}