greeter.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package biz
  2. import (
  3. "context"
  4. v1 "server/api/helloworld/v1"
  5. "github.com/go-kratos/kratos/v2/errors"
  6. "github.com/go-kratos/kratos/v2/log"
  7. )
  8. var (
  9. // ErrUserNotFound is user not found.
  10. ErrUserNotFound = errors.NotFound(v1.ErrorReason_USER_NOT_FOUND.String(), "user not found")
  11. )
  12. // Greeter is a Greeter model.
  13. type Greeter struct {
  14. Hello string
  15. }
  16. // GreeterRepo is a Greater repo.
  17. type GreeterRepo interface {
  18. Save(context.Context, *Greeter) (*Greeter, error)
  19. Update(context.Context, *Greeter) (*Greeter, error)
  20. FindByID(context.Context, int64) (*Greeter, error)
  21. ListByHello(context.Context, string) ([]*Greeter, error)
  22. ListAll(context.Context) ([]*Greeter, error)
  23. }
  24. // GreeterUsecase is a Greeter usecase.
  25. type GreeterUsecase struct {
  26. repo GreeterRepo
  27. log *log.Helper
  28. }
  29. // NewGreeterUsecase new a Greeter usecase.
  30. func NewGreeterUsecase(repo GreeterRepo, logger log.Logger) *GreeterUsecase {
  31. return &GreeterUsecase{repo: repo, log: log.NewHelper(logger)}
  32. }
  33. // CreateGreeter creates a Greeter, and returns the new Greeter.
  34. func (uc *GreeterUsecase) CreateGreeter(ctx context.Context, g *Greeter) (*Greeter, error) {
  35. uc.log.WithContext(ctx).Infof("CreateGreeter: %v", g.Hello)
  36. return uc.repo.Save(ctx, g)
  37. }