// Code generated by goctl. DO NOT EDIT.
// goctl 1.7.6
// Source: ranking_service.proto

package rankingservice

import (
	"context"

	"gitea.youtukeji.com.cn/youtu/youtu_grpc/app/ranking_service/ranking"

	"github.com/zeromicro/go-zero/zrpc"
	"google.golang.org/grpc"
)

type (
	AddUserGameScoreRequest    = ranking.AddUserGameScoreRequest
	AtomicGetHigherUserRequest = ranking.AtomicGetHigherUserRequest
	BaseResult                 = ranking.BaseResult
	GetRankingListRequest      = ranking.GetRankingListRequest
	GetRankingListResponse     = ranking.GetRankingListResponse
	RankingList                = ranking.RankingList
	RemoveRankingRequest       = ranking.RemoveRankingRequest
	Request                    = ranking.Request
	Response                   = ranking.Response
	SetUserGameScoreRequest    = ranking.SetUserGameScoreRequest
	SettlementResponse         = ranking.SettlementResponse

	RankingService interface {
		Ping(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
		SetUserGameScore(ctx context.Context, in *SetUserGameScoreRequest, opts ...grpc.CallOption) (*BaseResult, error)
		GetRankingList(ctx context.Context, in *GetRankingListRequest, opts ...grpc.CallOption) (*GetRankingListResponse, error)
		AddUserGameScore(ctx context.Context, in *AddUserGameScoreRequest, opts ...grpc.CallOption) (*BaseResult, error)
		RemoveRanking(ctx context.Context, in *RemoveRankingRequest, opts ...grpc.CallOption) (*BaseResult, error)
		AtomicGetHigherUser(ctx context.Context, in *AtomicGetHigherUserRequest, opts ...grpc.CallOption) (*RankingList, error)
		Settlement(ctx context.Context, in *AtomicGetHigherUserRequest, opts ...grpc.CallOption) (*SettlementResponse, error)
	}

	defaultRankingService struct {
		cli zrpc.Client
	}
)

func NewRankingService(cli zrpc.Client) RankingService {
	return &defaultRankingService{
		cli: cli,
	}
}

func (m *defaultRankingService) Ping(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.Ping(ctx, in, opts...)
}

func (m *defaultRankingService) SetUserGameScore(ctx context.Context, in *SetUserGameScoreRequest, opts ...grpc.CallOption) (*BaseResult, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.SetUserGameScore(ctx, in, opts...)
}

func (m *defaultRankingService) GetRankingList(ctx context.Context, in *GetRankingListRequest, opts ...grpc.CallOption) (*GetRankingListResponse, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.GetRankingList(ctx, in, opts...)
}

func (m *defaultRankingService) AddUserGameScore(ctx context.Context, in *AddUserGameScoreRequest, opts ...grpc.CallOption) (*BaseResult, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.AddUserGameScore(ctx, in, opts...)
}

func (m *defaultRankingService) RemoveRanking(ctx context.Context, in *RemoveRankingRequest, opts ...grpc.CallOption) (*BaseResult, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.RemoveRanking(ctx, in, opts...)
}

func (m *defaultRankingService) AtomicGetHigherUser(ctx context.Context, in *AtomicGetHigherUserRequest, opts ...grpc.CallOption) (*RankingList, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.AtomicGetHigherUser(ctx, in, opts...)
}

func (m *defaultRankingService) Settlement(ctx context.Context, in *AtomicGetHigherUserRequest, opts ...grpc.CallOption) (*SettlementResponse, error) {
	client := ranking.NewRankingServiceClient(m.cli.Conn())
	return client.Settlement(ctx, in, opts...)
}