45 lines
954 B
Go
45 lines
954 B
Go
package v1
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go-common/library/log"
|
|
"go-common/library/net/rpc/warden"
|
|
"go-common/library/net/rpc/warden/balancer/wrr"
|
|
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
// AppID unique app id for service diSCovery
|
|
const AppID = "ticket.service.item"
|
|
|
|
//Client 客户端枚举
|
|
type Client struct {
|
|
IC ItemClient
|
|
GC GuestClient
|
|
BC BulletinClient
|
|
VC VenueClient
|
|
PC PlaceClient
|
|
AC AreaClient
|
|
SC SeatClient
|
|
}
|
|
|
|
// New 新建客户端实例
|
|
func New(c *warden.ClientConfig) (*Client, error) {
|
|
client := warden.NewClient(c, grpc.WithBalancerName(wrr.Name))
|
|
conn, err := client.Dial(context.Background(), "discovery://default/"+AppID)
|
|
if err != nil {
|
|
log.Error("client can not connect server: %v", err)
|
|
return nil, err
|
|
}
|
|
return &Client{
|
|
IC: NewItemClient(conn),
|
|
GC: NewGuestClient(conn),
|
|
BC: NewBulletinClient(conn),
|
|
VC: NewVenueClient(conn),
|
|
PC: NewPlaceClient(conn),
|
|
AC: NewAreaClient(conn),
|
|
SC: NewSeatClient(conn),
|
|
}, nil
|
|
}
|