You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.2 KiB
57 lines
1.2 KiB
package service
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
pb "{{.ModPrefix}}{{.Name}}/api"
|
|
"{{.ModPrefix}}{{.Name}}/internal/dao"
|
|
"github.com/go-kratos/kratos/pkg/conf/paladin"
|
|
|
|
"github.com/golang/protobuf/ptypes/empty"
|
|
"github.com/google/wire"
|
|
)
|
|
|
|
var Provider = wire.NewSet(New, wire.Bind(new(pb.DemoServer), new(*Service)))
|
|
|
|
// Service service.
|
|
type Service struct {
|
|
ac *paladin.Map
|
|
dao dao.Dao
|
|
}
|
|
|
|
// New new a service and return.
|
|
func New(d dao.Dao) (s *Service, cf func(), err error) {
|
|
s = &Service{
|
|
ac: &paladin.TOML{},
|
|
dao: d,
|
|
}
|
|
cf = s.Close
|
|
err = paladin.Watch("application.toml", s.ac)
|
|
return
|
|
}
|
|
|
|
// SayHello grpc demo func.
|
|
func (s *Service) SayHello(ctx context.Context, req *pb.HelloReq) (reply *empty.Empty, err error) {
|
|
reply = new(empty.Empty)
|
|
fmt.Printf("hello %s", req.Name)
|
|
return
|
|
}
|
|
|
|
// SayHelloURL bm demo func.
|
|
func (s *Service) SayHelloURL(ctx context.Context, req *pb.HelloReq) (reply *pb.HelloResp, err error) {
|
|
reply = &pb.HelloResp{
|
|
Content: "hello " + req.Name,
|
|
}
|
|
fmt.Printf("hello url %s", req.Name)
|
|
return
|
|
}
|
|
|
|
// Ping ping the resource.
|
|
func (s *Service) Ping(ctx context.Context, e *empty.Empty) (*empty.Empty, error) {
|
|
return &empty.Empty{}, s.dao.Ping(ctx)
|
|
}
|
|
|
|
// Close close the resource.
|
|
func (s *Service) Close() {
|
|
}
|
|
|