31 lines
733 B
Go
31 lines
733 B
Go
package paygrpc
|
||
|
||
import (
|
||
"context"
|
||
"time"
|
||
|
||
commonpb "gitea.haiyihy.com/hy/chatappcommon/proto"
|
||
)
|
||
|
||
// Client 封装支付服务 gRPC client,并统一超时控制。
|
||
type Client struct {
|
||
timeout time.Duration
|
||
client commonpb.ChatAppPayServiceClient
|
||
}
|
||
|
||
// New 根据底层 gRPC client 构造支付服务调用器。
|
||
func New(client commonpb.ChatAppPayServiceClient, timeout time.Duration) *Client {
|
||
return &Client{
|
||
timeout: timeout,
|
||
client: client,
|
||
}
|
||
}
|
||
|
||
// Pay 调用支付服务最小支付接口。
|
||
func (c *Client) Pay(ctx context.Context, request *commonpb.PayRequest) (*commonpb.PayResponse, error) {
|
||
callCtx, cancel := context.WithTimeout(ctx, c.timeout)
|
||
defer cancel()
|
||
|
||
return c.client.Pay(callCtx, request)
|
||
}
|