| 123456789101112131415161718192021222324252627282930313233343536 | package serviceimport (	"context"	"github.com/go-kratos/kratos-layout/internal/data"	v1 "github.com/go-kratos/kratos-layout/api/helloworld/v1"	"github.com/go-kratos/kratos/v2/errors"	"github.com/go-kratos/kratos/v2/log")// GreeterService is a greeter service.type GreeterService struct {	v1.UnimplementedGreeterServer	log  *log.Helper	data *data.Data}// NewGreeterService new a greeter service.func NewGreeterService(logger log.Logger, data *data.Data) v1.GreeterServer {	return &GreeterService{		log:  log.NewHelper("service/greeter", logger),		data: data,	}}// SayHello implements helloworld.GreeterServerfunc (s *GreeterService) SayHello(ctx context.Context, in *v1.HelloRequest) (*v1.HelloReply, error) {	s.log.Infof("SayHello Received: %v", in.GetName())	if in.GetName() == "error" {		return nil, errors.NotFound("", "ErrorReason", in.GetName())	}	//s.greeterClient.SayHello(ctx)	return &v1.HelloReply{Message: "Hello " + in.GetName()}, nil}
 |