2026-05-02 13:02:38 +08:00

29 lines
904 B
Go

// Package integration 定义 room-service 到外部服务的接口边界。
package integration
import (
"context"
"google.golang.org/grpc"
walletv1 "hyapp.local/api/proto/wallet/v1"
)
// grpcWalletClient 是 WalletClient 的 gRPC 实现。
type grpcWalletClient struct {
// client 是 protobuf 生成的 wallet-service client。
client walletv1.WalletServiceClient
}
// NewGRPCWalletClient 用 gRPC 连接创建 wallet-service 客户端。
func NewGRPCWalletClient(conn *grpc.ClientConn) WalletClient {
return &grpcWalletClient{
client: walletv1.NewWalletServiceClient(conn),
}
}
// DebitGift 直接转调 wallet-service gRPC 接口。
func (c *grpcWalletClient) DebitGift(ctx context.Context, req *walletv1.DebitGiftRequest) (*walletv1.DebitGiftResponse, error) {
// 这里不吞错,账务失败必须原样阻断 SendGift 房间状态变更。
return c.client.DebitGift(ctx, req)
}