29 lines
709 B
Go
29 lines
709 B
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
|
|
walletv1 "hyapp/api/proto/wallet/v1"
|
|
)
|
|
|
|
// Server 提供首版 wallet-service 的最小 DebitGift 能力。
|
|
type Server struct {
|
|
walletv1.UnimplementedWalletServiceServer
|
|
}
|
|
|
|
// NewServer 创建 wallet gRPC server。
|
|
func NewServer() *Server {
|
|
return &Server{}
|
|
}
|
|
|
|
// DebitGift 按请求的礼物单价和数量计算总额,作为本地 stub 返回。
|
|
func (s *Server) DebitGift(_ context.Context, req *walletv1.DebitGiftRequest) (*walletv1.DebitGiftResponse, error) {
|
|
total := int64(req.GetGiftCount()) * req.GetGiftUnitValue()
|
|
|
|
return &walletv1.DebitGiftResponse{
|
|
BillingReceiptId: "wallet_stub_receipt",
|
|
TotalGiftValue: total,
|
|
BalanceAfter: 0,
|
|
}, nil
|
|
}
|