github.com/yoogoc/kratos-scaffold@v0.0.0-20240402032722-a538b3c18955/cmd/testdata/service-user.txt (about) 1 package service 2 3 import ( 4 "context" 5 v1 "test/api/user/v1" 6 "test/internal/biz" 7 8 "github.com/go-kratos/kratos/v2/log" 9 "google.golang.org/protobuf/types/known/wrapperspb" 10 ) 11 12 type UserService struct { 13 v1.UnimplementedUserServiceServer 14 uc *biz.UserUsecase 15 log *log.Helper 16 } 17 18 func NewUserService(uc *biz.UserUsecase, logger log.Logger) *UserService { 19 return &UserService{ 20 log: log.NewHelper(log.With(logger, "module", "service/user")), 21 uc: uc, 22 } 23 } 24 25 func (s *UserService) CreateUser(ctx context.Context, req *v1.CreateUserRequest) (*v1.CreateUserReply, error) { 26 _, err := s.uc.CreateUser(ctx, createUserReq2Biz(req)) 27 if err != nil { 28 return nil, err 29 } 30 return &v1.CreateUserReply{}, nil 31 } 32 33 func (s *UserService) UpdateUser(ctx context.Context, req *v1.UpdateUserRequest) (*v1.UpdateUserReply, error) { 34 _, err := s.uc.UpdateUser(ctx, updateUserReq2Biz(req)) 35 if err != nil { 36 return nil, err 37 } 38 return &v1.UpdateUserReply{}, nil 39 } 40 41 func (s *UserService) DeleteUser(ctx context.Context, req *v1.DeleteUserRequest) (*v1.DeleteUserReply, error) { 42 _, err := s.uc.DestroyUserBy(ctx, &biz.UserParam{ 43 IdEq: wrapperspb.Int64(req.Id), 44 }) 45 if err != nil { 46 return nil, err 47 } 48 return &v1.DeleteUserReply{}, nil 49 } 50 51 func (s *UserService) GetUser(ctx context.Context, req *v1.GetUserRequest) (*v1.GetUserReply, error) { 52 item, err := s.uc.FindUserBy(ctx, &biz.UserParam{ 53 IdEq: wrapperspb.Int64(req.Id), 54 }) 55 if err != nil { 56 return nil, err 57 } 58 return &v1.GetUserReply{ 59 User: userBiz2Proto(item), 60 }, nil 61 } 62 63 func (s *UserService) ListUser(ctx context.Context, req *v1.ListUserRequest) (*v1.ListUserReply, error) { 64 list, count, err := s.uc.ListUser(ctx, listUserReq2Biz(req), int(req.Page), int(req.PageSize)) 65 if err != nil { 66 return nil, err 67 } 68 return &v1.ListUserReply{ 69 Users: bulkUserBiz2Proto(list), 70 Count: uint32(count), 71 }, nil 72 }