hyapp-server/api/proto/luckygift/v1/luckygift.pb.go
2026-07-16 19:26:31 +08:00

4775 lines
170 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.35.0
// source: proto/luckygift/v1/luckygift.proto
package luckygiftv1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// RequestMeta 是 lucky-gift-service 的内部追踪元信息。
// request_id 只用于链路排查,不能被任何业务流程当成幂等键使用。
type RequestMeta struct {
state protoimpl.MessageState `protogen:"open.v1"`
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
Caller string `protobuf:"bytes,2,opt,name=caller,proto3" json:"caller,omitempty"`
GatewayNodeId string `protobuf:"bytes,3,opt,name=gateway_node_id,json=gatewayNodeId,proto3" json:"gateway_node_id,omitempty"`
SentAtMs int64 `protobuf:"varint,4,opt,name=sent_at_ms,json=sentAtMs,proto3" json:"sent_at_ms,omitempty"`
AppCode string `protobuf:"bytes,5,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RequestMeta) Reset() {
*x = RequestMeta{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RequestMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestMeta) ProtoMessage() {}
func (x *RequestMeta) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestMeta.ProtoReflect.Descriptor instead.
func (*RequestMeta) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{0}
}
func (x *RequestMeta) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *RequestMeta) GetCaller() string {
if x != nil {
return x.Caller
}
return ""
}
func (x *RequestMeta) GetGatewayNodeId() string {
if x != nil {
return x.GatewayNodeId
}
return ""
}
func (x *RequestMeta) GetSentAtMs() int64 {
if x != nil {
return x.SentAtMs
}
return 0
}
func (x *RequestMeta) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
// LuckyGiftMeta 是 HyApp 内部房间送礼扣费成功后的抽奖事实输入。
// 金额、目标用户和 command_id 必须来自 wallet-service 已落账的 receipt不能从客户端 payload 推导。
type LuckyGiftMeta struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
CommandId string `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
DeviceId string `protobuf:"bytes,4,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
RoomId string `protobuf:"bytes,5,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
AnchorId string `protobuf:"bytes,6,opt,name=anchor_id,json=anchorId,proto3" json:"anchor_id,omitempty"`
GiftId string `protobuf:"bytes,7,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
CoinSpent int64 `protobuf:"varint,8,opt,name=coin_spent,json=coinSpent,proto3" json:"coin_spent,omitempty"`
PaidAtMs int64 `protobuf:"varint,9,opt,name=paid_at_ms,json=paidAtMs,proto3" json:"paid_at_ms,omitempty"`
PoolId string `protobuf:"bytes,10,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
TargetUserId int64 `protobuf:"varint,11,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
GiftCount int32 `protobuf:"varint,12,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
VisibleRegionId int64 `protobuf:"varint,13,opt,name=visible_region_id,json=visibleRegionId,proto3" json:"visible_region_id,omitempty"`
CountryId int64 `protobuf:"varint,14,opt,name=country_id,json=countryId,proto3" json:"country_id,omitempty"`
// sender_* 是 room-service 在送礼入口已经确认的展示快照,只进入中奖事实和 IM不能参与抽奖或账务判断。
SenderName string `protobuf:"bytes,15,opt,name=sender_name,json=senderName,proto3" json:"sender_name,omitempty"`
SenderAvatar string `protobuf:"bytes,16,opt,name=sender_avatar,json=senderAvatar,proto3" json:"sender_avatar,omitempty"`
SenderDisplayUserId string `protobuf:"bytes,17,opt,name=sender_display_user_id,json=senderDisplayUserId,proto3" json:"sender_display_user_id,omitempty"`
SenderPrettyDisplayUserId string `protobuf:"bytes,18,opt,name=sender_pretty_display_user_id,json=senderPrettyDisplayUserId,proto3" json:"sender_pretty_display_user_id,omitempty"`
// 充值分层与充值后短时加权必须由调用方传入已确认的用户事实;幸运礼物服务不跨库回查用户或支付明细。
Recharge_7DCoins int64 `protobuf:"varint,19,opt,name=recharge_7d_coins,json=recharge7dCoins,proto3" json:"recharge_7d_coins,omitempty"`
Recharge_30DCoins int64 `protobuf:"varint,20,opt,name=recharge_30d_coins,json=recharge30dCoins,proto3" json:"recharge_30d_coins,omitempty"`
LastRechargedAtMs int64 `protobuf:"varint,21,opt,name=last_recharged_at_ms,json=lastRechargedAtMs,proto3" json:"last_recharged_at_ms,omitempty"`
// gift_income_coins 是 wallet 已实际入账给收礼人的收益金币dynamic_v3 用它校验规则主播拆账,缺失或比例不一致均拒绝开奖。
GiftIncomeCoins int64 `protobuf:"varint,22,opt,name=gift_income_coins,json=giftIncomeCoins,proto3" json:"gift_income_coins,omitempty"`
// user_registered_at_ms 是 user-service 在送礼入口返回的账号创建事实快照。
// dynamic_v3 只用它判断闭窗时账号是否已满 48 小时;缺失时普通开奖继续,但补偿大奖资格 fail-close。
UserRegisteredAtMs int64 `protobuf:"varint,23,opt,name=user_registered_at_ms,json=userRegisteredAtMs,proto3" json:"user_registered_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftMeta) Reset() {
*x = LuckyGiftMeta{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftMeta) ProtoMessage() {}
func (x *LuckyGiftMeta) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftMeta.ProtoReflect.Descriptor instead.
func (*LuckyGiftMeta) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{1}
}
func (x *LuckyGiftMeta) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *LuckyGiftMeta) GetCommandId() string {
if x != nil {
return x.CommandId
}
return ""
}
func (x *LuckyGiftMeta) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *LuckyGiftMeta) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *LuckyGiftMeta) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *LuckyGiftMeta) GetAnchorId() string {
if x != nil {
return x.AnchorId
}
return ""
}
func (x *LuckyGiftMeta) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *LuckyGiftMeta) GetCoinSpent() int64 {
if x != nil {
return x.CoinSpent
}
return 0
}
func (x *LuckyGiftMeta) GetPaidAtMs() int64 {
if x != nil {
return x.PaidAtMs
}
return 0
}
func (x *LuckyGiftMeta) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftMeta) GetTargetUserId() int64 {
if x != nil {
return x.TargetUserId
}
return 0
}
func (x *LuckyGiftMeta) GetGiftCount() int32 {
if x != nil {
return x.GiftCount
}
return 0
}
func (x *LuckyGiftMeta) GetVisibleRegionId() int64 {
if x != nil {
return x.VisibleRegionId
}
return 0
}
func (x *LuckyGiftMeta) GetCountryId() int64 {
if x != nil {
return x.CountryId
}
return 0
}
func (x *LuckyGiftMeta) GetSenderName() string {
if x != nil {
return x.SenderName
}
return ""
}
func (x *LuckyGiftMeta) GetSenderAvatar() string {
if x != nil {
return x.SenderAvatar
}
return ""
}
func (x *LuckyGiftMeta) GetSenderDisplayUserId() string {
if x != nil {
return x.SenderDisplayUserId
}
return ""
}
func (x *LuckyGiftMeta) GetSenderPrettyDisplayUserId() string {
if x != nil {
return x.SenderPrettyDisplayUserId
}
return ""
}
func (x *LuckyGiftMeta) GetRecharge_7DCoins() int64 {
if x != nil {
return x.Recharge_7DCoins
}
return 0
}
func (x *LuckyGiftMeta) GetRecharge_30DCoins() int64 {
if x != nil {
return x.Recharge_30DCoins
}
return 0
}
func (x *LuckyGiftMeta) GetLastRechargedAtMs() int64 {
if x != nil {
return x.LastRechargedAtMs
}
return 0
}
func (x *LuckyGiftMeta) GetGiftIncomeCoins() int64 {
if x != nil {
return x.GiftIncomeCoins
}
return 0
}
func (x *LuckyGiftMeta) GetUserRegisteredAtMs() int64 {
if x != nil {
return x.UserRegisteredAtMs
}
return 0
}
type LuckyGiftRuleTier struct {
state protoimpl.MessageState `protogen:"open.v1"`
Stage string `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"`
TierId string `protobuf:"bytes,2,opt,name=tier_id,json=tierId,proto3" json:"tier_id,omitempty"`
MultiplierPpm int64 `protobuf:"varint,3,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
BaseWeightPpm int64 `protobuf:"varint,4,opt,name=base_weight_ppm,json=baseWeightPpm,proto3" json:"base_weight_ppm,omitempty"`
HighWaterOnly bool `protobuf:"varint,5,opt,name=high_water_only,json=highWaterOnly,proto3" json:"high_water_only,omitempty"`
Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftRuleTier) Reset() {
*x = LuckyGiftRuleTier{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftRuleTier) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftRuleTier) ProtoMessage() {}
func (x *LuckyGiftRuleTier) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftRuleTier.ProtoReflect.Descriptor instead.
func (*LuckyGiftRuleTier) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{2}
}
func (x *LuckyGiftRuleTier) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *LuckyGiftRuleTier) GetTierId() string {
if x != nil {
return x.TierId
}
return ""
}
func (x *LuckyGiftRuleTier) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftRuleTier) GetBaseWeightPpm() int64 {
if x != nil {
return x.BaseWeightPpm
}
return 0
}
func (x *LuckyGiftRuleTier) GetHighWaterOnly() bool {
if x != nil {
return x.HighWaterOnly
}
return false
}
func (x *LuckyGiftRuleTier) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
type LuckyGiftRuleStage struct {
state protoimpl.MessageState `protogen:"open.v1"`
Stage string `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"`
Tiers []*LuckyGiftRuleTier `protobuf:"bytes,2,rep,name=tiers,proto3" json:"tiers,omitempty"`
// 两个充值门槛共同决定 dynamic_v3 分层novice 固定为 0/0后续阶段逐维单调递增。
MinRecharge_7DCoins int64 `protobuf:"varint,3,opt,name=min_recharge_7d_coins,json=minRecharge7dCoins,proto3" json:"min_recharge_7d_coins,omitempty"`
MinRecharge_30DCoins int64 `protobuf:"varint,4,opt,name=min_recharge_30d_coins,json=minRecharge30dCoins,proto3" json:"min_recharge_30d_coins,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftRuleStage) Reset() {
*x = LuckyGiftRuleStage{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftRuleStage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftRuleStage) ProtoMessage() {}
func (x *LuckyGiftRuleStage) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftRuleStage.ProtoReflect.Descriptor instead.
func (*LuckyGiftRuleStage) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{3}
}
func (x *LuckyGiftRuleStage) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *LuckyGiftRuleStage) GetTiers() []*LuckyGiftRuleTier {
if x != nil {
return x.Tiers
}
return nil
}
func (x *LuckyGiftRuleStage) GetMinRecharge_7DCoins() int64 {
if x != nil {
return x.MinRecharge_7DCoins
}
return 0
}
func (x *LuckyGiftRuleStage) GetMinRecharge_30DCoins() int64 {
if x != nil {
return x.MinRecharge_30DCoins
}
return 0
}
type LuckyGiftRuleConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
RuleVersion int64 `protobuf:"varint,3,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
TargetRtpPpm int64 `protobuf:"varint,5,opt,name=target_rtp_ppm,json=targetRtpPpm,proto3" json:"target_rtp_ppm,omitempty"`
PoolRatePpm int64 `protobuf:"varint,6,opt,name=pool_rate_ppm,json=poolRatePpm,proto3" json:"pool_rate_ppm,omitempty"`
SettlementWindowWager int64 `protobuf:"varint,7,opt,name=settlement_window_wager,json=settlementWindowWager,proto3" json:"settlement_window_wager,omitempty"`
ControlBandPpm int64 `protobuf:"varint,8,opt,name=control_band_ppm,json=controlBandPpm,proto3" json:"control_band_ppm,omitempty"`
GiftPriceReference int64 `protobuf:"varint,9,opt,name=gift_price_reference,json=giftPriceReference,proto3" json:"gift_price_reference,omitempty"`
NoviceMaxEquivalentDraws int64 `protobuf:"varint,10,opt,name=novice_max_equivalent_draws,json=noviceMaxEquivalentDraws,proto3" json:"novice_max_equivalent_draws,omitempty"`
NormalMaxEquivalentDraws int64 `protobuf:"varint,11,opt,name=normal_max_equivalent_draws,json=normalMaxEquivalentDraws,proto3" json:"normal_max_equivalent_draws,omitempty"`
EffectiveFromMs int64 `protobuf:"varint,12,opt,name=effective_from_ms,json=effectiveFromMs,proto3" json:"effective_from_ms,omitempty"`
CreatedByAdminId int64 `protobuf:"varint,13,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"`
CreatedAtMs int64 `protobuf:"varint,14,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
Stages []*LuckyGiftRuleStage `protobuf:"bytes,15,rep,name=stages,proto3" json:"stages,omitempty"`
// strategy_version 隔离历史 fixed_v2 与动态算法 dynamic_v3避免新增约束破坏已经发布的旧规则。
StrategyVersion string `protobuf:"bytes,16,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
ProfitRatePpm int64 `protobuf:"varint,17,opt,name=profit_rate_ppm,json=profitRatePpm,proto3" json:"profit_rate_ppm,omitempty"`
AnchorRatePpm int64 `protobuf:"varint,18,opt,name=anchor_rate_ppm,json=anchorRatePpm,proto3" json:"anchor_rate_ppm,omitempty"`
InitialPoolCoins int64 `protobuf:"varint,19,opt,name=initial_pool_coins,json=initialPoolCoins,proto3" json:"initial_pool_coins,omitempty"`
LossStreakGuarantee int64 `protobuf:"varint,20,opt,name=loss_streak_guarantee,json=lossStreakGuarantee,proto3" json:"loss_streak_guarantee,omitempty"`
LowWatermarkCoins int64 `protobuf:"varint,21,opt,name=low_watermark_coins,json=lowWatermarkCoins,proto3" json:"low_watermark_coins,omitempty"`
LowWaterNonzeroFactorPpm int64 `protobuf:"varint,22,opt,name=low_water_nonzero_factor_ppm,json=lowWaterNonzeroFactorPpm,proto3" json:"low_water_nonzero_factor_ppm,omitempty"`
HighWatermarkCoins int64 `protobuf:"varint,23,opt,name=high_watermark_coins,json=highWatermarkCoins,proto3" json:"high_watermark_coins,omitempty"`
HighWaterNonzeroFactorPpm int64 `protobuf:"varint,24,opt,name=high_water_nonzero_factor_ppm,json=highWaterNonzeroFactorPpm,proto3" json:"high_water_nonzero_factor_ppm,omitempty"`
RechargeBoostWindowMs int64 `protobuf:"varint,25,opt,name=recharge_boost_window_ms,json=rechargeBoostWindowMs,proto3" json:"recharge_boost_window_ms,omitempty"`
RechargeBoostFactorPpm int64 `protobuf:"varint,26,opt,name=recharge_boost_factor_ppm,json=rechargeBoostFactorPpm,proto3" json:"recharge_boost_factor_ppm,omitempty"`
JackpotMultiplierPpms []int64 `protobuf:"varint,27,rep,packed,name=jackpot_multiplier_ppms,json=jackpotMultiplierPpms,proto3" json:"jackpot_multiplier_ppms,omitempty"`
JackpotGlobalRtpMaxPpm int64 `protobuf:"varint,28,opt,name=jackpot_global_rtp_max_ppm,json=jackpotGlobalRtpMaxPpm,proto3" json:"jackpot_global_rtp_max_ppm,omitempty"`
JackpotUserRoundRtpMaxPpm int64 `protobuf:"varint,29,opt,name=jackpot_user_round_rtp_max_ppm,json=jackpotUserRoundRtpMaxPpm,proto3" json:"jackpot_user_round_rtp_max_ppm,omitempty"`
JackpotUser_48HRtpMaxPpm int64 `protobuf:"varint,30,opt,name=jackpot_user_48h_rtp_max_ppm,json=jackpotUser48hRtpMaxPpm,proto3" json:"jackpot_user_48h_rtp_max_ppm,omitempty"`
// 用户在同一应用、奖池和 UTC 自然日每累计消费满该金币数,生成一次可跨日保留的消费大奖资格。
JackpotSpendThresholdCoins int64 `protobuf:"varint,31,opt,name=jackpot_spend_threshold_coins,json=jackpotSpendThresholdCoins,proto3" json:"jackpot_spend_threshold_coins,omitempty"`
MaxJackpotHitsPerUserDay int64 `protobuf:"varint,32,opt,name=max_jackpot_hits_per_user_day,json=maxJackpotHitsPerUserDay,proto3" json:"max_jackpot_hits_per_user_day,omitempty"`
MaxSinglePayout int64 `protobuf:"varint,33,opt,name=max_single_payout,json=maxSinglePayout,proto3" json:"max_single_payout,omitempty"`
UserHourlyPayoutCap int64 `protobuf:"varint,34,opt,name=user_hourly_payout_cap,json=userHourlyPayoutCap,proto3" json:"user_hourly_payout_cap,omitempty"`
UserDailyPayoutCap int64 `protobuf:"varint,35,opt,name=user_daily_payout_cap,json=userDailyPayoutCap,proto3" json:"user_daily_payout_cap,omitempty"`
DeviceDailyPayoutCap int64 `protobuf:"varint,36,opt,name=device_daily_payout_cap,json=deviceDailyPayoutCap,proto3" json:"device_daily_payout_cap,omitempty"`
RoomHourlyPayoutCap int64 `protobuf:"varint,37,opt,name=room_hourly_payout_cap,json=roomHourlyPayoutCap,proto3" json:"room_hourly_payout_cap,omitempty"`
AnchorDailyPayoutCap int64 `protobuf:"varint,38,opt,name=anchor_daily_payout_cap,json=anchorDailyPayoutCap,proto3" json:"anchor_daily_payout_cap,omitempty"`
// 用户严格滚动 24 小时 RTP 超过此值时普通非零奖档按下方因子降权0 表示关闭该策略。
User_24HRtpThresholdPpm int64 `protobuf:"varint,39,opt,name=user_24h_rtp_threshold_ppm,json=user24hRtpThresholdPpm,proto3" json:"user_24h_rtp_threshold_ppm,omitempty"`
// 触发用户 24 小时 RTP 降权后保留的普通中奖权重1000000 表示保持原概率。
User_24HOrdinaryWinFactorPpm int64 `protobuf:"varint,40,opt,name=user_24h_ordinary_win_factor_ppm,json=user24hOrdinaryWinFactorPpm,proto3" json:"user_24h_ordinary_win_factor_ppm,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftRuleConfig) Reset() {
*x = LuckyGiftRuleConfig{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftRuleConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftRuleConfig) ProtoMessage() {}
func (x *LuckyGiftRuleConfig) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftRuleConfig.ProtoReflect.Descriptor instead.
func (*LuckyGiftRuleConfig) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{4}
}
func (x *LuckyGiftRuleConfig) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftRuleConfig) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftRuleConfig) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftRuleConfig) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *LuckyGiftRuleConfig) GetTargetRtpPpm() int64 {
if x != nil {
return x.TargetRtpPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetPoolRatePpm() int64 {
if x != nil {
return x.PoolRatePpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetSettlementWindowWager() int64 {
if x != nil {
return x.SettlementWindowWager
}
return 0
}
func (x *LuckyGiftRuleConfig) GetControlBandPpm() int64 {
if x != nil {
return x.ControlBandPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetGiftPriceReference() int64 {
if x != nil {
return x.GiftPriceReference
}
return 0
}
func (x *LuckyGiftRuleConfig) GetNoviceMaxEquivalentDraws() int64 {
if x != nil {
return x.NoviceMaxEquivalentDraws
}
return 0
}
func (x *LuckyGiftRuleConfig) GetNormalMaxEquivalentDraws() int64 {
if x != nil {
return x.NormalMaxEquivalentDraws
}
return 0
}
func (x *LuckyGiftRuleConfig) GetEffectiveFromMs() int64 {
if x != nil {
return x.EffectiveFromMs
}
return 0
}
func (x *LuckyGiftRuleConfig) GetCreatedByAdminId() int64 {
if x != nil {
return x.CreatedByAdminId
}
return 0
}
func (x *LuckyGiftRuleConfig) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *LuckyGiftRuleConfig) GetStages() []*LuckyGiftRuleStage {
if x != nil {
return x.Stages
}
return nil
}
func (x *LuckyGiftRuleConfig) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftRuleConfig) GetProfitRatePpm() int64 {
if x != nil {
return x.ProfitRatePpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetAnchorRatePpm() int64 {
if x != nil {
return x.AnchorRatePpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetInitialPoolCoins() int64 {
if x != nil {
return x.InitialPoolCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetLossStreakGuarantee() int64 {
if x != nil {
return x.LossStreakGuarantee
}
return 0
}
func (x *LuckyGiftRuleConfig) GetLowWatermarkCoins() int64 {
if x != nil {
return x.LowWatermarkCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetLowWaterNonzeroFactorPpm() int64 {
if x != nil {
return x.LowWaterNonzeroFactorPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetHighWatermarkCoins() int64 {
if x != nil {
return x.HighWatermarkCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetHighWaterNonzeroFactorPpm() int64 {
if x != nil {
return x.HighWaterNonzeroFactorPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetRechargeBoostWindowMs() int64 {
if x != nil {
return x.RechargeBoostWindowMs
}
return 0
}
func (x *LuckyGiftRuleConfig) GetRechargeBoostFactorPpm() int64 {
if x != nil {
return x.RechargeBoostFactorPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotMultiplierPpms() []int64 {
if x != nil {
return x.JackpotMultiplierPpms
}
return nil
}
func (x *LuckyGiftRuleConfig) GetJackpotGlobalRtpMaxPpm() int64 {
if x != nil {
return x.JackpotGlobalRtpMaxPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotUserRoundRtpMaxPpm() int64 {
if x != nil {
return x.JackpotUserRoundRtpMaxPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotUser_48HRtpMaxPpm() int64 {
if x != nil {
return x.JackpotUser_48HRtpMaxPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotSpendThresholdCoins() int64 {
if x != nil {
return x.JackpotSpendThresholdCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetMaxJackpotHitsPerUserDay() int64 {
if x != nil {
return x.MaxJackpotHitsPerUserDay
}
return 0
}
func (x *LuckyGiftRuleConfig) GetMaxSinglePayout() int64 {
if x != nil {
return x.MaxSinglePayout
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUserHourlyPayoutCap() int64 {
if x != nil {
return x.UserHourlyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUserDailyPayoutCap() int64 {
if x != nil {
return x.UserDailyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetDeviceDailyPayoutCap() int64 {
if x != nil {
return x.DeviceDailyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetRoomHourlyPayoutCap() int64 {
if x != nil {
return x.RoomHourlyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetAnchorDailyPayoutCap() int64 {
if x != nil {
return x.AnchorDailyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUser_24HRtpThresholdPpm() int64 {
if x != nil {
return x.User_24HRtpThresholdPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUser_24HOrdinaryWinFactorPpm() int64 {
if x != nil {
return x.User_24HOrdinaryWinFactorPpm
}
return 0
}
type CheckLuckyGiftRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
GiftId string `protobuf:"bytes,4,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
PoolId string `protobuf:"bytes,5,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckLuckyGiftRequest) Reset() {
*x = CheckLuckyGiftRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckLuckyGiftRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckLuckyGiftRequest) ProtoMessage() {}
func (x *CheckLuckyGiftRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckLuckyGiftRequest.ProtoReflect.Descriptor instead.
func (*CheckLuckyGiftRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{5}
}
func (x *CheckLuckyGiftRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CheckLuckyGiftRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *CheckLuckyGiftRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *CheckLuckyGiftRequest) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *CheckLuckyGiftRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
type CheckLuckyGiftResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
GiftId string `protobuf:"bytes,3,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
GiftPrice int64 `protobuf:"varint,4,opt,name=gift_price,json=giftPrice,proto3" json:"gift_price,omitempty"`
RuleVersion int64 `protobuf:"varint,5,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
TargetRtpPpm int64 `protobuf:"varint,6,opt,name=target_rtp_ppm,json=targetRtpPpm,proto3" json:"target_rtp_ppm,omitempty"`
ExperiencePool string `protobuf:"bytes,7,opt,name=experience_pool,json=experiencePool,proto3" json:"experience_pool,omitempty"`
PoolId string `protobuf:"bytes,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
// strategy_version 由 lucky-gift owner 返回并由 room saga 固化,用于滚动发布时区分 fixed_v2 兼容与 dynamic_v3 强校验。
StrategyVersion string `protobuf:"bytes,9,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckLuckyGiftResponse) Reset() {
*x = CheckLuckyGiftResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckLuckyGiftResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckLuckyGiftResponse) ProtoMessage() {}
func (x *CheckLuckyGiftResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckLuckyGiftResponse.ProtoReflect.Descriptor instead.
func (*CheckLuckyGiftResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{6}
}
func (x *CheckLuckyGiftResponse) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *CheckLuckyGiftResponse) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *CheckLuckyGiftResponse) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *CheckLuckyGiftResponse) GetGiftPrice() int64 {
if x != nil {
return x.GiftPrice
}
return 0
}
func (x *CheckLuckyGiftResponse) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *CheckLuckyGiftResponse) GetTargetRtpPpm() int64 {
if x != nil {
return x.TargetRtpPpm
}
return 0
}
func (x *CheckLuckyGiftResponse) GetExperiencePool() string {
if x != nil {
return x.ExperiencePool
}
return ""
}
func (x *CheckLuckyGiftResponse) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *CheckLuckyGiftResponse) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
type LuckyGiftDrawResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
DrawId string `protobuf:"bytes,1,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"`
CommandId string `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
GiftId string `protobuf:"bytes,3,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
RuleVersion int64 `protobuf:"varint,4,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
ExperiencePool string `protobuf:"bytes,5,opt,name=experience_pool,json=experiencePool,proto3" json:"experience_pool,omitempty"`
SelectedTierId string `protobuf:"bytes,6,opt,name=selected_tier_id,json=selectedTierId,proto3" json:"selected_tier_id,omitempty"`
BaseRewardCoins int64 `protobuf:"varint,7,opt,name=base_reward_coins,json=baseRewardCoins,proto3" json:"base_reward_coins,omitempty"`
EffectiveRewardCoins int64 `protobuf:"varint,8,opt,name=effective_reward_coins,json=effectiveRewardCoins,proto3" json:"effective_reward_coins,omitempty"`
RewardStatus string `protobuf:"bytes,9,opt,name=reward_status,json=rewardStatus,proto3" json:"reward_status,omitempty"`
RtpWindowIndex int64 `protobuf:"varint,10,opt,name=rtp_window_index,json=rtpWindowIndex,proto3" json:"rtp_window_index,omitempty"`
GiftRtpWindowIndex int64 `protobuf:"varint,11,opt,name=gift_rtp_window_index,json=giftRtpWindowIndex,proto3" json:"gift_rtp_window_index,omitempty"`
GlobalBaseRtpPpm int64 `protobuf:"varint,12,opt,name=global_base_rtp_ppm,json=globalBaseRtpPpm,proto3" json:"global_base_rtp_ppm,omitempty"`
GiftBaseRtpPpm int64 `protobuf:"varint,13,opt,name=gift_base_rtp_ppm,json=giftBaseRtpPpm,proto3" json:"gift_base_rtp_ppm,omitempty"`
StageFeedback bool `protobuf:"varint,14,opt,name=stage_feedback,json=stageFeedback,proto3" json:"stage_feedback,omitempty"`
HighMultiplier bool `protobuf:"varint,15,opt,name=high_multiplier,json=highMultiplier,proto3" json:"high_multiplier,omitempty"`
CreatedAtMs int64 `protobuf:"varint,16,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
PoolId string `protobuf:"bytes,17,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
MultiplierPpm int64 `protobuf:"varint,18,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
WalletTransactionId string `protobuf:"bytes,19,opt,name=wallet_transaction_id,json=walletTransactionId,proto3" json:"wallet_transaction_id,omitempty"`
CoinBalanceAfter int64 `protobuf:"varint,20,opt,name=coin_balance_after,json=coinBalanceAfter,proto3" json:"coin_balance_after,omitempty"`
UserId int64 `protobuf:"varint,21,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
ExternalUserId string `protobuf:"bytes,22,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
AppCode string `protobuf:"bytes,23,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
Hits []*LuckyGiftHit `protobuf:"bytes,24,rep,name=hits,proto3" json:"hits,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftDrawResult) Reset() {
*x = LuckyGiftDrawResult{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftDrawResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftDrawResult) ProtoMessage() {}
func (x *LuckyGiftDrawResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftDrawResult.ProtoReflect.Descriptor instead.
func (*LuckyGiftDrawResult) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{7}
}
func (x *LuckyGiftDrawResult) GetDrawId() string {
if x != nil {
return x.DrawId
}
return ""
}
func (x *LuckyGiftDrawResult) GetCommandId() string {
if x != nil {
return x.CommandId
}
return ""
}
func (x *LuckyGiftDrawResult) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *LuckyGiftDrawResult) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftDrawResult) GetExperiencePool() string {
if x != nil {
return x.ExperiencePool
}
return ""
}
func (x *LuckyGiftDrawResult) GetSelectedTierId() string {
if x != nil {
return x.SelectedTierId
}
return ""
}
func (x *LuckyGiftDrawResult) GetBaseRewardCoins() int64 {
if x != nil {
return x.BaseRewardCoins
}
return 0
}
func (x *LuckyGiftDrawResult) GetEffectiveRewardCoins() int64 {
if x != nil {
return x.EffectiveRewardCoins
}
return 0
}
func (x *LuckyGiftDrawResult) GetRewardStatus() string {
if x != nil {
return x.RewardStatus
}
return ""
}
func (x *LuckyGiftDrawResult) GetRtpWindowIndex() int64 {
if x != nil {
return x.RtpWindowIndex
}
return 0
}
func (x *LuckyGiftDrawResult) GetGiftRtpWindowIndex() int64 {
if x != nil {
return x.GiftRtpWindowIndex
}
return 0
}
func (x *LuckyGiftDrawResult) GetGlobalBaseRtpPpm() int64 {
if x != nil {
return x.GlobalBaseRtpPpm
}
return 0
}
func (x *LuckyGiftDrawResult) GetGiftBaseRtpPpm() int64 {
if x != nil {
return x.GiftBaseRtpPpm
}
return 0
}
func (x *LuckyGiftDrawResult) GetStageFeedback() bool {
if x != nil {
return x.StageFeedback
}
return false
}
func (x *LuckyGiftDrawResult) GetHighMultiplier() bool {
if x != nil {
return x.HighMultiplier
}
return false
}
func (x *LuckyGiftDrawResult) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *LuckyGiftDrawResult) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftDrawResult) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftDrawResult) GetWalletTransactionId() string {
if x != nil {
return x.WalletTransactionId
}
return ""
}
func (x *LuckyGiftDrawResult) GetCoinBalanceAfter() int64 {
if x != nil {
return x.CoinBalanceAfter
}
return 0
}
func (x *LuckyGiftDrawResult) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *LuckyGiftDrawResult) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *LuckyGiftDrawResult) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftDrawResult) GetHits() []*LuckyGiftHit {
if x != nil {
return x.Hits
}
return nil
}
type ExecuteLuckyGiftDrawRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
LuckyGift *LuckyGiftMeta `protobuf:"bytes,1,opt,name=lucky_gift,json=luckyGift,proto3" json:"lucky_gift,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExecuteLuckyGiftDrawRequest) Reset() {
*x = ExecuteLuckyGiftDrawRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExecuteLuckyGiftDrawRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteLuckyGiftDrawRequest) ProtoMessage() {}
func (x *ExecuteLuckyGiftDrawRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteLuckyGiftDrawRequest.ProtoReflect.Descriptor instead.
func (*ExecuteLuckyGiftDrawRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{8}
}
func (x *ExecuteLuckyGiftDrawRequest) GetLuckyGift() *LuckyGiftMeta {
if x != nil {
return x.LuckyGift
}
return nil
}
type ExecuteLuckyGiftDrawResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Result *LuckyGiftDrawResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExecuteLuckyGiftDrawResponse) Reset() {
*x = ExecuteLuckyGiftDrawResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExecuteLuckyGiftDrawResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteLuckyGiftDrawResponse) ProtoMessage() {}
func (x *ExecuteLuckyGiftDrawResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteLuckyGiftDrawResponse.ProtoReflect.Descriptor instead.
func (*ExecuteLuckyGiftDrawResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{9}
}
func (x *ExecuteLuckyGiftDrawResponse) GetResult() *LuckyGiftDrawResult {
if x != nil {
return x.Result
}
return nil
}
type BatchExecuteLuckyGiftDrawRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
LuckyGifts []*LuckyGiftMeta `protobuf:"bytes,1,rep,name=lucky_gifts,json=luckyGifts,proto3" json:"lucky_gifts,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BatchExecuteLuckyGiftDrawRequest) Reset() {
*x = BatchExecuteLuckyGiftDrawRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BatchExecuteLuckyGiftDrawRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchExecuteLuckyGiftDrawRequest) ProtoMessage() {}
func (x *BatchExecuteLuckyGiftDrawRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BatchExecuteLuckyGiftDrawRequest.ProtoReflect.Descriptor instead.
func (*BatchExecuteLuckyGiftDrawRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{10}
}
func (x *BatchExecuteLuckyGiftDrawRequest) GetLuckyGifts() []*LuckyGiftMeta {
if x != nil {
return x.LuckyGifts
}
return nil
}
type BatchExecuteLuckyGiftDrawResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Results []*LuckyGiftDrawResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BatchExecuteLuckyGiftDrawResponse) Reset() {
*x = BatchExecuteLuckyGiftDrawResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BatchExecuteLuckyGiftDrawResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchExecuteLuckyGiftDrawResponse) ProtoMessage() {}
func (x *BatchExecuteLuckyGiftDrawResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BatchExecuteLuckyGiftDrawResponse.ProtoReflect.Descriptor instead.
func (*BatchExecuteLuckyGiftDrawResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{11}
}
func (x *BatchExecuteLuckyGiftDrawResponse) GetResults() []*LuckyGiftDrawResult {
if x != nil {
return x.Results
}
return nil
}
// ExternalGiftDrawRequest 是外部 App 接入的抽奖输入。
// App 调用前必须已经完成自己的扣费lucky-gift-service 只校验金额事实并返回中奖结果。
type ExternalGiftDrawRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
AppCode string `protobuf:"bytes,3,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
ExternalUserId string `protobuf:"bytes,4,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
GiftCount int64 `protobuf:"varint,6,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
UnitAmount int64 `protobuf:"varint,7,opt,name=unit_amount,json=unitAmount,proto3" json:"unit_amount,omitempty"`
TotalAmount int64 `protobuf:"varint,8,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"`
Currency string `protobuf:"bytes,9,opt,name=currency,proto3" json:"currency,omitempty"`
PaidAtMs int64 `protobuf:"varint,10,opt,name=paid_at_ms,json=paidAtMs,proto3" json:"paid_at_ms,omitempty"`
MetadataJson string `protobuf:"bytes,11,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
PoolId string `protobuf:"bytes,12,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
// dynamic_v3 必填的稳定设备作用域。luck-gateway 不独立证明其真实性,调用方必须在自己的认证/签名边界内绑定该值fixed_v2 允许缺失。
DeviceId string `protobuf:"bytes,13,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
// user_registered_at_ms 由外部 App 按自己的用户主数据提供dynamic_v3 缺失或晚于支付时间时补偿大奖资格 fail-close。
UserRegisteredAtMs int64 `protobuf:"varint,14,opt,name=user_registered_at_ms,json=userRegisteredAtMs,proto3" json:"user_registered_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGiftDrawRequest) Reset() {
*x = ExternalGiftDrawRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGiftDrawRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGiftDrawRequest) ProtoMessage() {}
func (x *ExternalGiftDrawRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGiftDrawRequest.ProtoReflect.Descriptor instead.
func (*ExternalGiftDrawRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{12}
}
func (x *ExternalGiftDrawRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ExternalGiftDrawRequest) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *ExternalGiftDrawRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetGiftCount() int64 {
if x != nil {
return x.GiftCount
}
return 0
}
func (x *ExternalGiftDrawRequest) GetUnitAmount() int64 {
if x != nil {
return x.UnitAmount
}
return 0
}
func (x *ExternalGiftDrawRequest) GetTotalAmount() int64 {
if x != nil {
return x.TotalAmount
}
return 0
}
func (x *ExternalGiftDrawRequest) GetCurrency() string {
if x != nil {
return x.Currency
}
return ""
}
func (x *ExternalGiftDrawRequest) GetPaidAtMs() int64 {
if x != nil {
return x.PaidAtMs
}
return 0
}
func (x *ExternalGiftDrawRequest) GetMetadataJson() string {
if x != nil {
return x.MetadataJson
}
return ""
}
func (x *ExternalGiftDrawRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetUserRegisteredAtMs() int64 {
if x != nil {
return x.UserRegisteredAtMs
}
return 0
}
type ExternalGiftDrawResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
DrawId string `protobuf:"bytes,1,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"`
RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
AppCode string `protobuf:"bytes,4,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
ExternalUserId string `protobuf:"bytes,5,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
GiftCount int64 `protobuf:"varint,6,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
UnitAmount int64 `protobuf:"varint,7,opt,name=unit_amount,json=unitAmount,proto3" json:"unit_amount,omitempty"`
TotalAmount int64 `protobuf:"varint,8,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"`
RewardAmount int64 `protobuf:"varint,9,opt,name=reward_amount,json=rewardAmount,proto3" json:"reward_amount,omitempty"`
MultiplierPpm int64 `protobuf:"varint,10,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
RewardStatus string `protobuf:"bytes,11,opt,name=reward_status,json=rewardStatus,proto3" json:"reward_status,omitempty"`
RuleVersion int64 `protobuf:"varint,12,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
CreatedAtMs int64 `protobuf:"varint,13,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGiftDrawResponse) Reset() {
*x = ExternalGiftDrawResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGiftDrawResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGiftDrawResponse) ProtoMessage() {}
func (x *ExternalGiftDrawResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGiftDrawResponse.ProtoReflect.Descriptor instead.
func (*ExternalGiftDrawResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{13}
}
func (x *ExternalGiftDrawResponse) GetDrawId() string {
if x != nil {
return x.DrawId
}
return ""
}
func (x *ExternalGiftDrawResponse) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *ExternalGiftDrawResponse) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *ExternalGiftDrawResponse) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ExternalGiftDrawResponse) GetGiftCount() int64 {
if x != nil {
return x.GiftCount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetUnitAmount() int64 {
if x != nil {
return x.UnitAmount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetTotalAmount() int64 {
if x != nil {
return x.TotalAmount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetRewardAmount() int64 {
if x != nil {
return x.RewardAmount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *ExternalGiftDrawResponse) GetRewardStatus() string {
if x != nil {
return x.RewardStatus
}
return ""
}
func (x *ExternalGiftDrawResponse) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *ExternalGiftDrawResponse) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
type GetLuckyGiftConfigRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftConfigRequest) Reset() {
*x = GetLuckyGiftConfigRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftConfigRequest) ProtoMessage() {}
func (x *GetLuckyGiftConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftConfigRequest.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{14}
}
func (x *GetLuckyGiftConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetLuckyGiftConfigRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
type GetLuckyGiftConfigResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Config *LuckyGiftRuleConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftConfigResponse) Reset() {
*x = GetLuckyGiftConfigResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftConfigResponse) ProtoMessage() {}
func (x *GetLuckyGiftConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftConfigResponse.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftConfigResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{15}
}
func (x *GetLuckyGiftConfigResponse) GetConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.Config
}
return nil
}
type UpsertLuckyGiftConfigRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Config *LuckyGiftRuleConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
OperatorAdminId int64 `protobuf:"varint,3,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpsertLuckyGiftConfigRequest) Reset() {
*x = UpsertLuckyGiftConfigRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpsertLuckyGiftConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpsertLuckyGiftConfigRequest) ProtoMessage() {}
func (x *UpsertLuckyGiftConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpsertLuckyGiftConfigRequest.ProtoReflect.Descriptor instead.
func (*UpsertLuckyGiftConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{16}
}
func (x *UpsertLuckyGiftConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpsertLuckyGiftConfigRequest) GetConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *UpsertLuckyGiftConfigRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
type UpsertLuckyGiftConfigResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Config *LuckyGiftRuleConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpsertLuckyGiftConfigResponse) Reset() {
*x = UpsertLuckyGiftConfigResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpsertLuckyGiftConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpsertLuckyGiftConfigResponse) ProtoMessage() {}
func (x *UpsertLuckyGiftConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpsertLuckyGiftConfigResponse.ProtoReflect.Descriptor instead.
func (*UpsertLuckyGiftConfigResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{17}
}
func (x *UpsertLuckyGiftConfigResponse) GetConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.Config
}
return nil
}
type ListLuckyGiftConfigsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftConfigsRequest) Reset() {
*x = ListLuckyGiftConfigsRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftConfigsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftConfigsRequest) ProtoMessage() {}
func (x *ListLuckyGiftConfigsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftConfigsRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftConfigsRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{18}
}
func (x *ListLuckyGiftConfigsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
type ListLuckyGiftConfigsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Configs []*LuckyGiftRuleConfig `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftConfigsResponse) Reset() {
*x = ListLuckyGiftConfigsResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftConfigsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftConfigsResponse) ProtoMessage() {}
func (x *ListLuckyGiftConfigsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftConfigsResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftConfigsResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{19}
}
func (x *ListLuckyGiftConfigsResponse) GetConfigs() []*LuckyGiftRuleConfig {
if x != nil {
return x.Configs
}
return nil
}
type ListLuckyGiftDrawsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GiftId string `protobuf:"bytes,2,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
Page int32 `protobuf:"varint,6,opt,name=page,proto3" json:"page,omitempty"`
PageSize int32 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
PoolId string `protobuf:"bytes,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
ExternalUserId string `protobuf:"bytes,10,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
ExternalOnly bool `protobuf:"varint,11,opt,name=external_only,json=externalOnly,proto3" json:"external_only,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftDrawsRequest) Reset() {
*x = ListLuckyGiftDrawsRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftDrawsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftDrawsRequest) ProtoMessage() {}
func (x *ListLuckyGiftDrawsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftDrawsRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftDrawsRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{20}
}
func (x *ListLuckyGiftDrawsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListLuckyGiftDrawsRequest) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListLuckyGiftDrawsRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListLuckyGiftDrawsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListLuckyGiftDrawsRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetExternalOnly() bool {
if x != nil {
return x.ExternalOnly
}
return false
}
type ListLuckyGiftDrawsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Draws []*LuckyGiftDrawResult `protobuf:"bytes,1,rep,name=draws,proto3" json:"draws,omitempty"`
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftDrawsResponse) Reset() {
*x = ListLuckyGiftDrawsResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftDrawsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftDrawsResponse) ProtoMessage() {}
func (x *ListLuckyGiftDrawsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftDrawsResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftDrawsResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{21}
}
func (x *ListLuckyGiftDrawsResponse) GetDraws() []*LuckyGiftDrawResult {
if x != nil {
return x.Draws
}
return nil
}
func (x *ListLuckyGiftDrawsResponse) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
type LuckyGiftDrawSummary struct {
state protoimpl.MessageState `protogen:"open.v1"`
PoolId string `protobuf:"bytes,1,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
TotalDraws int64 `protobuf:"varint,2,opt,name=total_draws,json=totalDraws,proto3" json:"total_draws,omitempty"`
UniqueUsers int64 `protobuf:"varint,3,opt,name=unique_users,json=uniqueUsers,proto3" json:"unique_users,omitempty"`
UniqueRooms int64 `protobuf:"varint,4,opt,name=unique_rooms,json=uniqueRooms,proto3" json:"unique_rooms,omitempty"`
TotalSpentCoins int64 `protobuf:"varint,5,opt,name=total_spent_coins,json=totalSpentCoins,proto3" json:"total_spent_coins,omitempty"`
TotalRewardCoins int64 `protobuf:"varint,6,opt,name=total_reward_coins,json=totalRewardCoins,proto3" json:"total_reward_coins,omitempty"`
BaseRewardCoins int64 `protobuf:"varint,7,opt,name=base_reward_coins,json=baseRewardCoins,proto3" json:"base_reward_coins,omitempty"`
ActualRtpPpm int64 `protobuf:"varint,8,opt,name=actual_rtp_ppm,json=actualRtpPpm,proto3" json:"actual_rtp_ppm,omitempty"`
PendingDraws int64 `protobuf:"varint,9,opt,name=pending_draws,json=pendingDraws,proto3" json:"pending_draws,omitempty"`
GrantedDraws int64 `protobuf:"varint,10,opt,name=granted_draws,json=grantedDraws,proto3" json:"granted_draws,omitempty"`
FailedDraws int64 `protobuf:"varint,11,opt,name=failed_draws,json=failedDraws,proto3" json:"failed_draws,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftDrawSummary) Reset() {
*x = LuckyGiftDrawSummary{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftDrawSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftDrawSummary) ProtoMessage() {}
func (x *LuckyGiftDrawSummary) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftDrawSummary.ProtoReflect.Descriptor instead.
func (*LuckyGiftDrawSummary) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{22}
}
func (x *LuckyGiftDrawSummary) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftDrawSummary) GetTotalDraws() int64 {
if x != nil {
return x.TotalDraws
}
return 0
}
func (x *LuckyGiftDrawSummary) GetUniqueUsers() int64 {
if x != nil {
return x.UniqueUsers
}
return 0
}
func (x *LuckyGiftDrawSummary) GetUniqueRooms() int64 {
if x != nil {
return x.UniqueRooms
}
return 0
}
func (x *LuckyGiftDrawSummary) GetTotalSpentCoins() int64 {
if x != nil {
return x.TotalSpentCoins
}
return 0
}
func (x *LuckyGiftDrawSummary) GetTotalRewardCoins() int64 {
if x != nil {
return x.TotalRewardCoins
}
return 0
}
func (x *LuckyGiftDrawSummary) GetBaseRewardCoins() int64 {
if x != nil {
return x.BaseRewardCoins
}
return 0
}
func (x *LuckyGiftDrawSummary) GetActualRtpPpm() int64 {
if x != nil {
return x.ActualRtpPpm
}
return 0
}
func (x *LuckyGiftDrawSummary) GetPendingDraws() int64 {
if x != nil {
return x.PendingDraws
}
return 0
}
func (x *LuckyGiftDrawSummary) GetGrantedDraws() int64 {
if x != nil {
return x.GrantedDraws
}
return 0
}
func (x *LuckyGiftDrawSummary) GetFailedDraws() int64 {
if x != nil {
return x.FailedDraws
}
return 0
}
type LuckyGiftPoolBalance struct {
state protoimpl.MessageState `protogen:"open.v1"`
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
Balance int64 `protobuf:"varint,3,opt,name=balance,proto3" json:"balance,omitempty"`
ReserveFloor int64 `protobuf:"varint,4,opt,name=reserve_floor,json=reserveFloor,proto3" json:"reserve_floor,omitempty"`
AvailableBalance int64 `protobuf:"varint,5,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"`
TotalIn int64 `protobuf:"varint,6,opt,name=total_in,json=totalIn,proto3" json:"total_in,omitempty"`
TotalOut int64 `protobuf:"varint,7,opt,name=total_out,json=totalOut,proto3" json:"total_out,omitempty"`
Materialized bool `protobuf:"varint,8,opt,name=materialized,proto3" json:"materialized,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,9,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
StrategyVersion string `protobuf:"bytes,10,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
ManualCreditTotal int64 `protobuf:"varint,11,opt,name=manual_credit_total,json=manualCreditTotal,proto3" json:"manual_credit_total,omitempty"`
ManualDebitTotal int64 `protobuf:"varint,12,opt,name=manual_debit_total,json=manualDebitTotal,proto3" json:"manual_debit_total,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftPoolBalance) Reset() {
*x = LuckyGiftPoolBalance{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftPoolBalance) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftPoolBalance) ProtoMessage() {}
func (x *LuckyGiftPoolBalance) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftPoolBalance.ProtoReflect.Descriptor instead.
func (*LuckyGiftPoolBalance) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{23}
}
func (x *LuckyGiftPoolBalance) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftPoolBalance) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftPoolBalance) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
func (x *LuckyGiftPoolBalance) GetReserveFloor() int64 {
if x != nil {
return x.ReserveFloor
}
return 0
}
func (x *LuckyGiftPoolBalance) GetAvailableBalance() int64 {
if x != nil {
return x.AvailableBalance
}
return 0
}
func (x *LuckyGiftPoolBalance) GetTotalIn() int64 {
if x != nil {
return x.TotalIn
}
return 0
}
func (x *LuckyGiftPoolBalance) GetTotalOut() int64 {
if x != nil {
return x.TotalOut
}
return 0
}
func (x *LuckyGiftPoolBalance) GetMaterialized() bool {
if x != nil {
return x.Materialized
}
return false
}
func (x *LuckyGiftPoolBalance) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *LuckyGiftPoolBalance) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftPoolBalance) GetManualCreditTotal() int64 {
if x != nil {
return x.ManualCreditTotal
}
return 0
}
func (x *LuckyGiftPoolBalance) GetManualDebitTotal() int64 {
if x != nil {
return x.ManualDebitTotal
}
return 0
}
type GetLuckyGiftDrawSummaryRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GiftId string `protobuf:"bytes,2,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
PoolId string `protobuf:"bytes,6,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
ExternalUserId string `protobuf:"bytes,8,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
ExternalOnly bool `protobuf:"varint,9,opt,name=external_only,json=externalOnly,proto3" json:"external_only,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftDrawSummaryRequest) Reset() {
*x = GetLuckyGiftDrawSummaryRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftDrawSummaryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftDrawSummaryRequest) ProtoMessage() {}
func (x *GetLuckyGiftDrawSummaryRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftDrawSummaryRequest.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftDrawSummaryRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{24}
}
func (x *GetLuckyGiftDrawSummaryRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetLuckyGiftDrawSummaryRequest) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *GetLuckyGiftDrawSummaryRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetExternalOnly() bool {
if x != nil {
return x.ExternalOnly
}
return false
}
type GetLuckyGiftDrawSummaryResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Summary *LuckyGiftDrawSummary `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftDrawSummaryResponse) Reset() {
*x = GetLuckyGiftDrawSummaryResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftDrawSummaryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftDrawSummaryResponse) ProtoMessage() {}
func (x *GetLuckyGiftDrawSummaryResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftDrawSummaryResponse.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftDrawSummaryResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{25}
}
func (x *GetLuckyGiftDrawSummaryResponse) GetSummary() *LuckyGiftDrawSummary {
if x != nil {
return x.Summary
}
return nil
}
type ListLuckyGiftPoolBalancesRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
StrategyVersion string `protobuf:"bytes,3,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftPoolBalancesRequest) Reset() {
*x = ListLuckyGiftPoolBalancesRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftPoolBalancesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftPoolBalancesRequest) ProtoMessage() {}
func (x *ListLuckyGiftPoolBalancesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftPoolBalancesRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftPoolBalancesRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{26}
}
func (x *ListLuckyGiftPoolBalancesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListLuckyGiftPoolBalancesRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ListLuckyGiftPoolBalancesRequest) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
type ListLuckyGiftPoolBalancesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Pools []*LuckyGiftPoolBalance `protobuf:"bytes,1,rep,name=pools,proto3" json:"pools,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftPoolBalancesResponse) Reset() {
*x = ListLuckyGiftPoolBalancesResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftPoolBalancesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftPoolBalancesResponse) ProtoMessage() {}
func (x *ListLuckyGiftPoolBalancesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftPoolBalancesResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftPoolBalancesResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{27}
}
func (x *ListLuckyGiftPoolBalancesResponse) GetPools() []*LuckyGiftPoolBalance {
if x != nil {
return x.Pools
}
return nil
}
// LuckyGiftHit 只返回批量逐份开奖中实际中奖的精简位置,不复制全部审计明细。
// 声明追加在文件尾以保持既有 protobuf message index 稳定。
type LuckyGiftHit struct {
state protoimpl.MessageState `protogen:"open.v1"`
GiftIndex int32 `protobuf:"varint,1,opt,name=gift_index,json=giftIndex,proto3" json:"gift_index,omitempty"`
DrawId string `protobuf:"bytes,2,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"`
SelectedTierId string `protobuf:"bytes,3,opt,name=selected_tier_id,json=selectedTierId,proto3" json:"selected_tier_id,omitempty"`
MultiplierPpm int64 `protobuf:"varint,4,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
RewardCoins int64 `protobuf:"varint,5,opt,name=reward_coins,json=rewardCoins,proto3" json:"reward_coins,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftHit) Reset() {
*x = LuckyGiftHit{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftHit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftHit) ProtoMessage() {}
func (x *LuckyGiftHit) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftHit.ProtoReflect.Descriptor instead.
func (*LuckyGiftHit) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{28}
}
func (x *LuckyGiftHit) GetGiftIndex() int32 {
if x != nil {
return x.GiftIndex
}
return 0
}
func (x *LuckyGiftHit) GetDrawId() string {
if x != nil {
return x.DrawId
}
return ""
}
func (x *LuckyGiftHit) GetSelectedTierId() string {
if x != nil {
return x.SelectedTierId
}
return ""
}
func (x *LuckyGiftHit) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftHit) GetRewardCoins() int64 {
if x != nil {
return x.RewardCoins
}
return 0
}
// 调账消息也只追加在文件尾,保持所有既有 protobuf message index 稳定。
// adjustment_id 是业务幂等键RequestMeta.request_id 只做链路追踪,不能替代资金幂等语义。
type AdjustLuckyGiftPoolBalanceRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
StrategyVersion string `protobuf:"bytes,3,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
AdjustmentId string `protobuf:"bytes,4,opt,name=adjustment_id,json=adjustmentId,proto3" json:"adjustment_id,omitempty"`
Direction string `protobuf:"bytes,5,opt,name=direction,proto3" json:"direction,omitempty"`
AmountCoins int64 `protobuf:"varint,6,opt,name=amount_coins,json=amountCoins,proto3" json:"amount_coins,omitempty"`
Reason string `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"`
OperatorAdminId int64 `protobuf:"varint,8,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AdjustLuckyGiftPoolBalanceRequest) Reset() {
*x = AdjustLuckyGiftPoolBalanceRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AdjustLuckyGiftPoolBalanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AdjustLuckyGiftPoolBalanceRequest) ProtoMessage() {}
func (x *AdjustLuckyGiftPoolBalanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AdjustLuckyGiftPoolBalanceRequest.ProtoReflect.Descriptor instead.
func (*AdjustLuckyGiftPoolBalanceRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{29}
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetAdjustmentId() string {
if x != nil {
return x.AdjustmentId
}
return ""
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetDirection() string {
if x != nil {
return x.Direction
}
return ""
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetAmountCoins() int64 {
if x != nil {
return x.AmountCoins
}
return 0
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *AdjustLuckyGiftPoolBalanceRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
type LuckyGiftPoolAdjustment struct {
state protoimpl.MessageState `protogen:"open.v1"`
AdjustmentId string `protobuf:"bytes,1,opt,name=adjustment_id,json=adjustmentId,proto3" json:"adjustment_id,omitempty"`
AppCode string `protobuf:"bytes,2,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PoolId string `protobuf:"bytes,3,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
StrategyVersion string `protobuf:"bytes,4,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
Direction string `protobuf:"bytes,5,opt,name=direction,proto3" json:"direction,omitempty"`
AmountCoins int64 `protobuf:"varint,6,opt,name=amount_coins,json=amountCoins,proto3" json:"amount_coins,omitempty"`
Reason string `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"`
OperatorAdminId int64 `protobuf:"varint,8,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
BalanceBefore int64 `protobuf:"varint,9,opt,name=balance_before,json=balanceBefore,proto3" json:"balance_before,omitempty"`
BalanceAfter int64 `protobuf:"varint,10,opt,name=balance_after,json=balanceAfter,proto3" json:"balance_after,omitempty"`
CreatedAtMs int64 `protobuf:"varint,11,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftPoolAdjustment) Reset() {
*x = LuckyGiftPoolAdjustment{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftPoolAdjustment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftPoolAdjustment) ProtoMessage() {}
func (x *LuckyGiftPoolAdjustment) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftPoolAdjustment.ProtoReflect.Descriptor instead.
func (*LuckyGiftPoolAdjustment) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{30}
}
func (x *LuckyGiftPoolAdjustment) GetAdjustmentId() string {
if x != nil {
return x.AdjustmentId
}
return ""
}
func (x *LuckyGiftPoolAdjustment) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftPoolAdjustment) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftPoolAdjustment) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftPoolAdjustment) GetDirection() string {
if x != nil {
return x.Direction
}
return ""
}
func (x *LuckyGiftPoolAdjustment) GetAmountCoins() int64 {
if x != nil {
return x.AmountCoins
}
return 0
}
func (x *LuckyGiftPoolAdjustment) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *LuckyGiftPoolAdjustment) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
func (x *LuckyGiftPoolAdjustment) GetBalanceBefore() int64 {
if x != nil {
return x.BalanceBefore
}
return 0
}
func (x *LuckyGiftPoolAdjustment) GetBalanceAfter() int64 {
if x != nil {
return x.BalanceAfter
}
return 0
}
func (x *LuckyGiftPoolAdjustment) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
type AdjustLuckyGiftPoolBalanceResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Adjustment *LuckyGiftPoolAdjustment `protobuf:"bytes,1,opt,name=adjustment,proto3" json:"adjustment,omitempty"`
Pool *LuckyGiftPoolBalance `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
IdempotentReplay bool `protobuf:"varint,3,opt,name=idempotent_replay,json=idempotentReplay,proto3" json:"idempotent_replay,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AdjustLuckyGiftPoolBalanceResponse) Reset() {
*x = AdjustLuckyGiftPoolBalanceResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AdjustLuckyGiftPoolBalanceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AdjustLuckyGiftPoolBalanceResponse) ProtoMessage() {}
func (x *AdjustLuckyGiftPoolBalanceResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AdjustLuckyGiftPoolBalanceResponse.ProtoReflect.Descriptor instead.
func (*AdjustLuckyGiftPoolBalanceResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{31}
}
func (x *AdjustLuckyGiftPoolBalanceResponse) GetAdjustment() *LuckyGiftPoolAdjustment {
if x != nil {
return x.Adjustment
}
return nil
}
func (x *AdjustLuckyGiftPoolBalanceResponse) GetPool() *LuckyGiftPoolBalance {
if x != nil {
return x.Pool
}
return nil
}
func (x *AdjustLuckyGiftPoolBalanceResponse) GetIdempotentReplay() bool {
if x != nil {
return x.IdempotentReplay
}
return false
}
// 用户画像协议追加在文件尾,避免改变既有 message index。外部策略哈希只存在于 owner 数据库,
// 本协议永远只下发 external_user_id防止运营误把不可逆内部键当成外部用户身份。
type LuckyGiftUserProfileWindow struct {
state protoimpl.MessageState `protogen:"open.v1"`
Draws int64 `protobuf:"varint,1,opt,name=draws,proto3" json:"draws,omitempty"`
WagerCoins int64 `protobuf:"varint,2,opt,name=wager_coins,json=wagerCoins,proto3" json:"wager_coins,omitempty"`
PayoutCoins int64 `protobuf:"varint,3,opt,name=payout_coins,json=payoutCoins,proto3" json:"payout_coins,omitempty"`
NetCoins int64 `protobuf:"varint,4,opt,name=net_coins,json=netCoins,proto3" json:"net_coins,omitempty"`
RtpPpm int64 `protobuf:"varint,5,opt,name=rtp_ppm,json=rtpPpm,proto3" json:"rtp_ppm,omitempty"`
HasRtp bool `protobuf:"varint,6,opt,name=has_rtp,json=hasRtp,proto3" json:"has_rtp,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftUserProfileWindow) Reset() {
*x = LuckyGiftUserProfileWindow{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftUserProfileWindow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftUserProfileWindow) ProtoMessage() {}
func (x *LuckyGiftUserProfileWindow) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftUserProfileWindow.ProtoReflect.Descriptor instead.
func (*LuckyGiftUserProfileWindow) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{32}
}
func (x *LuckyGiftUserProfileWindow) GetDraws() int64 {
if x != nil {
return x.Draws
}
return 0
}
func (x *LuckyGiftUserProfileWindow) GetWagerCoins() int64 {
if x != nil {
return x.WagerCoins
}
return 0
}
func (x *LuckyGiftUserProfileWindow) GetPayoutCoins() int64 {
if x != nil {
return x.PayoutCoins
}
return 0
}
func (x *LuckyGiftUserProfileWindow) GetNetCoins() int64 {
if x != nil {
return x.NetCoins
}
return 0
}
func (x *LuckyGiftUserProfileWindow) GetRtpPpm() int64 {
if x != nil {
return x.RtpPpm
}
return 0
}
func (x *LuckyGiftUserProfileWindow) GetHasRtp() bool {
if x != nil {
return x.HasRtp
}
return false
}
type LuckyGiftUserProfile struct {
state protoimpl.MessageState `protogen:"open.v1"`
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
IdentityType string `protobuf:"bytes,3,opt,name=identity_type,json=identityType,proto3" json:"identity_type,omitempty"`
InternalUserId int64 `protobuf:"varint,4,opt,name=internal_user_id,json=internalUserId,proto3" json:"internal_user_id,omitempty"`
ExternalUserId string `protobuf:"bytes,5,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
RuleVersion int64 `protobuf:"varint,6,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
StrategyVersion string `protobuf:"bytes,7,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
Stage string `protobuf:"bytes,8,opt,name=stage,proto3" json:"stage,omitempty"`
PaidDraws int64 `protobuf:"varint,9,opt,name=paid_draws,json=paidDraws,proto3" json:"paid_draws,omitempty"`
EquivalentDraws int64 `protobuf:"varint,10,opt,name=equivalent_draws,json=equivalentDraws,proto3" json:"equivalent_draws,omitempty"`
LossStreak int64 `protobuf:"varint,11,opt,name=loss_streak,json=lossStreak,proto3" json:"loss_streak,omitempty"`
PendingSpendJackpotTokens int64 `protobuf:"varint,12,opt,name=pending_spend_jackpot_tokens,json=pendingSpendJackpotTokens,proto3" json:"pending_spend_jackpot_tokens,omitempty"`
GuaranteeDrawsRemaining int64 `protobuf:"varint,13,opt,name=guarantee_draws_remaining,json=guaranteeDrawsRemaining,proto3" json:"guarantee_draws_remaining,omitempty"`
DownweightActive bool `protobuf:"varint,14,opt,name=downweight_active,json=downweightActive,proto3" json:"downweight_active,omitempty"`
DownweightFactorPpm int64 `protobuf:"varint,15,opt,name=downweight_factor_ppm,json=downweightFactorPpm,proto3" json:"downweight_factor_ppm,omitempty"`
OneHour *LuckyGiftUserProfileWindow `protobuf:"bytes,16,opt,name=one_hour,json=oneHour,proto3" json:"one_hour,omitempty"`
TwentyFourHours *LuckyGiftUserProfileWindow `protobuf:"bytes,17,opt,name=twenty_four_hours,json=twentyFourHours,proto3" json:"twenty_four_hours,omitempty"`
FortyEightHours *LuckyGiftUserProfileWindow `protobuf:"bytes,18,opt,name=forty_eight_hours,json=fortyEightHours,proto3" json:"forty_eight_hours,omitempty"`
Lifetime *LuckyGiftUserProfileWindow `protobuf:"bytes,19,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
BaseRewardCoins int64 `protobuf:"varint,20,opt,name=base_reward_coins,json=baseRewardCoins,proto3" json:"base_reward_coins,omitempty"`
OrdinaryWinCount int64 `protobuf:"varint,21,opt,name=ordinary_win_count,json=ordinaryWinCount,proto3" json:"ordinary_win_count,omitempty"`
HighMultiplierOrdinaryWinCount int64 `protobuf:"varint,22,opt,name=high_multiplier_ordinary_win_count,json=highMultiplierOrdinaryWinCount,proto3" json:"high_multiplier_ordinary_win_count,omitempty"`
RtpCompensationJackpotCount int64 `protobuf:"varint,23,opt,name=rtp_compensation_jackpot_count,json=rtpCompensationJackpotCount,proto3" json:"rtp_compensation_jackpot_count,omitempty"`
CumulativeSpendJackpotCount int64 `protobuf:"varint,24,opt,name=cumulative_spend_jackpot_count,json=cumulativeSpendJackpotCount,proto3" json:"cumulative_spend_jackpot_count,omitempty"`
GuaranteeHitCount int64 `protobuf:"varint,25,opt,name=guarantee_hit_count,json=guaranteeHitCount,proto3" json:"guarantee_hit_count,omitempty"`
ZeroDrawCount int64 `protobuf:"varint,26,opt,name=zero_draw_count,json=zeroDrawCount,proto3" json:"zero_draw_count,omitempty"`
GrantedDrawCount int64 `protobuf:"varint,27,opt,name=granted_draw_count,json=grantedDrawCount,proto3" json:"granted_draw_count,omitempty"`
PendingDrawCount int64 `protobuf:"varint,28,opt,name=pending_draw_count,json=pendingDrawCount,proto3" json:"pending_draw_count,omitempty"`
FailedDrawCount int64 `protobuf:"varint,29,opt,name=failed_draw_count,json=failedDrawCount,proto3" json:"failed_draw_count,omitempty"`
MaxMultiplierPpm int64 `protobuf:"varint,30,opt,name=max_multiplier_ppm,json=maxMultiplierPpm,proto3" json:"max_multiplier_ppm,omitempty"`
MaxRewardCoins int64 `protobuf:"varint,31,opt,name=max_reward_coins,json=maxRewardCoins,proto3" json:"max_reward_coins,omitempty"`
FirstDrawAtMs int64 `protobuf:"varint,32,opt,name=first_draw_at_ms,json=firstDrawAtMs,proto3" json:"first_draw_at_ms,omitempty"`
LastDrawAtMs int64 `protobuf:"varint,33,opt,name=last_draw_at_ms,json=lastDrawAtMs,proto3" json:"last_draw_at_ms,omitempty"`
AggregatedAtMs int64 `protobuf:"varint,34,opt,name=aggregated_at_ms,json=aggregatedAtMs,proto3" json:"aggregated_at_ms,omitempty"`
DataLagMs int64 `protobuf:"varint,35,opt,name=data_lag_ms,json=dataLagMs,proto3" json:"data_lag_ms,omitempty"`
User_24HRtpThresholdPpm int64 `protobuf:"varint,36,opt,name=user_24h_rtp_threshold_ppm,json=user24hRtpThresholdPpm,proto3" json:"user_24h_rtp_threshold_ppm,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftUserProfile) Reset() {
*x = LuckyGiftUserProfile{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftUserProfile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftUserProfile) ProtoMessage() {}
func (x *LuckyGiftUserProfile) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftUserProfile.ProtoReflect.Descriptor instead.
func (*LuckyGiftUserProfile) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{33}
}
func (x *LuckyGiftUserProfile) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftUserProfile) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftUserProfile) GetIdentityType() string {
if x != nil {
return x.IdentityType
}
return ""
}
func (x *LuckyGiftUserProfile) GetInternalUserId() int64 {
if x != nil {
return x.InternalUserId
}
return 0
}
func (x *LuckyGiftUserProfile) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *LuckyGiftUserProfile) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftUserProfile) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftUserProfile) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *LuckyGiftUserProfile) GetPaidDraws() int64 {
if x != nil {
return x.PaidDraws
}
return 0
}
func (x *LuckyGiftUserProfile) GetEquivalentDraws() int64 {
if x != nil {
return x.EquivalentDraws
}
return 0
}
func (x *LuckyGiftUserProfile) GetLossStreak() int64 {
if x != nil {
return x.LossStreak
}
return 0
}
func (x *LuckyGiftUserProfile) GetPendingSpendJackpotTokens() int64 {
if x != nil {
return x.PendingSpendJackpotTokens
}
return 0
}
func (x *LuckyGiftUserProfile) GetGuaranteeDrawsRemaining() int64 {
if x != nil {
return x.GuaranteeDrawsRemaining
}
return 0
}
func (x *LuckyGiftUserProfile) GetDownweightActive() bool {
if x != nil {
return x.DownweightActive
}
return false
}
func (x *LuckyGiftUserProfile) GetDownweightFactorPpm() int64 {
if x != nil {
return x.DownweightFactorPpm
}
return 0
}
func (x *LuckyGiftUserProfile) GetOneHour() *LuckyGiftUserProfileWindow {
if x != nil {
return x.OneHour
}
return nil
}
func (x *LuckyGiftUserProfile) GetTwentyFourHours() *LuckyGiftUserProfileWindow {
if x != nil {
return x.TwentyFourHours
}
return nil
}
func (x *LuckyGiftUserProfile) GetFortyEightHours() *LuckyGiftUserProfileWindow {
if x != nil {
return x.FortyEightHours
}
return nil
}
func (x *LuckyGiftUserProfile) GetLifetime() *LuckyGiftUserProfileWindow {
if x != nil {
return x.Lifetime
}
return nil
}
func (x *LuckyGiftUserProfile) GetBaseRewardCoins() int64 {
if x != nil {
return x.BaseRewardCoins
}
return 0
}
func (x *LuckyGiftUserProfile) GetOrdinaryWinCount() int64 {
if x != nil {
return x.OrdinaryWinCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetHighMultiplierOrdinaryWinCount() int64 {
if x != nil {
return x.HighMultiplierOrdinaryWinCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetRtpCompensationJackpotCount() int64 {
if x != nil {
return x.RtpCompensationJackpotCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetCumulativeSpendJackpotCount() int64 {
if x != nil {
return x.CumulativeSpendJackpotCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetGuaranteeHitCount() int64 {
if x != nil {
return x.GuaranteeHitCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetZeroDrawCount() int64 {
if x != nil {
return x.ZeroDrawCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetGrantedDrawCount() int64 {
if x != nil {
return x.GrantedDrawCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetPendingDrawCount() int64 {
if x != nil {
return x.PendingDrawCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetFailedDrawCount() int64 {
if x != nil {
return x.FailedDrawCount
}
return 0
}
func (x *LuckyGiftUserProfile) GetMaxMultiplierPpm() int64 {
if x != nil {
return x.MaxMultiplierPpm
}
return 0
}
func (x *LuckyGiftUserProfile) GetMaxRewardCoins() int64 {
if x != nil {
return x.MaxRewardCoins
}
return 0
}
func (x *LuckyGiftUserProfile) GetFirstDrawAtMs() int64 {
if x != nil {
return x.FirstDrawAtMs
}
return 0
}
func (x *LuckyGiftUserProfile) GetLastDrawAtMs() int64 {
if x != nil {
return x.LastDrawAtMs
}
return 0
}
func (x *LuckyGiftUserProfile) GetAggregatedAtMs() int64 {
if x != nil {
return x.AggregatedAtMs
}
return 0
}
func (x *LuckyGiftUserProfile) GetDataLagMs() int64 {
if x != nil {
return x.DataLagMs
}
return 0
}
func (x *LuckyGiftUserProfile) GetUser_24HRtpThresholdPpm() int64 {
if x != nil {
return x.User_24HRtpThresholdPpm
}
return 0
}
type ListLuckyGiftUserProfilesRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
IdentityType string `protobuf:"bytes,3,opt,name=identity_type,json=identityType,proto3" json:"identity_type,omitempty"`
InternalUserId int64 `protobuf:"varint,4,opt,name=internal_user_id,json=internalUserId,proto3" json:"internal_user_id,omitempty"`
ExternalUserId string `protobuf:"bytes,5,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
Stage string `protobuf:"bytes,6,opt,name=stage,proto3" json:"stage,omitempty"`
Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
SortBy string `protobuf:"bytes,8,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"`
SortDirection string `protobuf:"bytes,9,opt,name=sort_direction,json=sortDirection,proto3" json:"sort_direction,omitempty"`
Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page,omitempty"`
PageSize int32 `protobuf:"varint,11,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// cursor 是 owner service 生成的不透明 keyset 游标page 仅保留旧客户端协议兼容,服务端不再执行 OFFSET。
Cursor string `protobuf:"bytes,12,opt,name=cursor,proto3" json:"cursor,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftUserProfilesRequest) Reset() {
*x = ListLuckyGiftUserProfilesRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftUserProfilesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftUserProfilesRequest) ProtoMessage() {}
func (x *ListLuckyGiftUserProfilesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftUserProfilesRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftUserProfilesRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{34}
}
func (x *ListLuckyGiftUserProfilesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListLuckyGiftUserProfilesRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetIdentityType() string {
if x != nil {
return x.IdentityType
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetInternalUserId() int64 {
if x != nil {
return x.InternalUserId
}
return 0
}
func (x *ListLuckyGiftUserProfilesRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetSortBy() string {
if x != nil {
return x.SortBy
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetSortDirection() string {
if x != nil {
return x.SortDirection
}
return ""
}
func (x *ListLuckyGiftUserProfilesRequest) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListLuckyGiftUserProfilesRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListLuckyGiftUserProfilesRequest) GetCursor() string {
if x != nil {
return x.Cursor
}
return ""
}
type ListLuckyGiftUserProfilesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Profiles []*LuckyGiftUserProfile `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles,omitempty"`
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
SnapshotAtMs int64 `protobuf:"varint,3,opt,name=snapshot_at_ms,json=snapshotAtMs,proto3" json:"snapshot_at_ms,omitempty"`
NextCursor string `protobuf:"bytes,4,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
HasMore bool `protobuf:"varint,5,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftUserProfilesResponse) Reset() {
*x = ListLuckyGiftUserProfilesResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftUserProfilesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftUserProfilesResponse) ProtoMessage() {}
func (x *ListLuckyGiftUserProfilesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftUserProfilesResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftUserProfilesResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{35}
}
func (x *ListLuckyGiftUserProfilesResponse) GetProfiles() []*LuckyGiftUserProfile {
if x != nil {
return x.Profiles
}
return nil
}
func (x *ListLuckyGiftUserProfilesResponse) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *ListLuckyGiftUserProfilesResponse) GetSnapshotAtMs() int64 {
if x != nil {
return x.SnapshotAtMs
}
return 0
}
func (x *ListLuckyGiftUserProfilesResponse) GetNextCursor() string {
if x != nil {
return x.NextCursor
}
return ""
}
func (x *ListLuckyGiftUserProfilesResponse) GetHasMore() bool {
if x != nil {
return x.HasMore
}
return false
}
type GetLuckyGiftUserProfileRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
IdentityType string `protobuf:"bytes,3,opt,name=identity_type,json=identityType,proto3" json:"identity_type,omitempty"`
InternalUserId int64 `protobuf:"varint,4,opt,name=internal_user_id,json=internalUserId,proto3" json:"internal_user_id,omitempty"`
ExternalUserId string `protobuf:"bytes,5,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
JackpotPage int32 `protobuf:"varint,6,opt,name=jackpot_page,json=jackpotPage,proto3" json:"jackpot_page,omitempty"`
JackpotPageSize int32 `protobuf:"varint,7,opt,name=jackpot_page_size,json=jackpotPageSize,proto3" json:"jackpot_page_size,omitempty"`
// jackpot_cursor 由上一页 next_jackpot_cursor 原样返回jackpot_page 仅保留协议兼容。
JackpotCursor string `protobuf:"bytes,8,opt,name=jackpot_cursor,json=jackpotCursor,proto3" json:"jackpot_cursor,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftUserProfileRequest) Reset() {
*x = GetLuckyGiftUserProfileRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftUserProfileRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftUserProfileRequest) ProtoMessage() {}
func (x *GetLuckyGiftUserProfileRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftUserProfileRequest.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftUserProfileRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{36}
}
func (x *GetLuckyGiftUserProfileRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetLuckyGiftUserProfileRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *GetLuckyGiftUserProfileRequest) GetIdentityType() string {
if x != nil {
return x.IdentityType
}
return ""
}
func (x *GetLuckyGiftUserProfileRequest) GetInternalUserId() int64 {
if x != nil {
return x.InternalUserId
}
return 0
}
func (x *GetLuckyGiftUserProfileRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *GetLuckyGiftUserProfileRequest) GetJackpotPage() int32 {
if x != nil {
return x.JackpotPage
}
return 0
}
func (x *GetLuckyGiftUserProfileRequest) GetJackpotPageSize() int32 {
if x != nil {
return x.JackpotPageSize
}
return 0
}
func (x *GetLuckyGiftUserProfileRequest) GetJackpotCursor() string {
if x != nil {
return x.JackpotCursor
}
return ""
}
type LuckyGiftUserMultiplierStat struct {
state protoimpl.MessageState `protogen:"open.v1"`
HitType string `protobuf:"bytes,1,opt,name=hit_type,json=hitType,proto3" json:"hit_type,omitempty"`
MultiplierPpm int64 `protobuf:"varint,2,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
DrawCount int64 `protobuf:"varint,3,opt,name=draw_count,json=drawCount,proto3" json:"draw_count,omitempty"`
WagerCoins int64 `protobuf:"varint,4,opt,name=wager_coins,json=wagerCoins,proto3" json:"wager_coins,omitempty"`
PayoutCoins int64 `protobuf:"varint,5,opt,name=payout_coins,json=payoutCoins,proto3" json:"payout_coins,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftUserMultiplierStat) Reset() {
*x = LuckyGiftUserMultiplierStat{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftUserMultiplierStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftUserMultiplierStat) ProtoMessage() {}
func (x *LuckyGiftUserMultiplierStat) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftUserMultiplierStat.ProtoReflect.Descriptor instead.
func (*LuckyGiftUserMultiplierStat) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{37}
}
func (x *LuckyGiftUserMultiplierStat) GetHitType() string {
if x != nil {
return x.HitType
}
return ""
}
func (x *LuckyGiftUserMultiplierStat) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftUserMultiplierStat) GetDrawCount() int64 {
if x != nil {
return x.DrawCount
}
return 0
}
func (x *LuckyGiftUserMultiplierStat) GetWagerCoins() int64 {
if x != nil {
return x.WagerCoins
}
return 0
}
func (x *LuckyGiftUserMultiplierStat) GetPayoutCoins() int64 {
if x != nil {
return x.PayoutCoins
}
return 0
}
type LuckyGiftUserJackpotCondition struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Numerator int64 `protobuf:"varint,2,opt,name=numerator,proto3" json:"numerator,omitempty"`
Denominator int64 `protobuf:"varint,3,opt,name=denominator,proto3" json:"denominator,omitempty"`
RatioPpm int64 `protobuf:"varint,4,opt,name=ratio_ppm,json=ratioPpm,proto3" json:"ratio_ppm,omitempty"`
LimitPpm int64 `protobuf:"varint,5,opt,name=limit_ppm,json=limitPpm,proto3" json:"limit_ppm,omitempty"`
FactorPpm int64 `protobuf:"varint,6,opt,name=factor_ppm,json=factorPpm,proto3" json:"factor_ppm,omitempty"`
Passed bool `protobuf:"varint,7,opt,name=passed,proto3" json:"passed,omitempty"`
Reason string `protobuf:"bytes,8,opt,name=reason,proto3" json:"reason,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftUserJackpotCondition) Reset() {
*x = LuckyGiftUserJackpotCondition{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftUserJackpotCondition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftUserJackpotCondition) ProtoMessage() {}
func (x *LuckyGiftUserJackpotCondition) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftUserJackpotCondition.ProtoReflect.Descriptor instead.
func (*LuckyGiftUserJackpotCondition) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{38}
}
func (x *LuckyGiftUserJackpotCondition) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *LuckyGiftUserJackpotCondition) GetNumerator() int64 {
if x != nil {
return x.Numerator
}
return 0
}
func (x *LuckyGiftUserJackpotCondition) GetDenominator() int64 {
if x != nil {
return x.Denominator
}
return 0
}
func (x *LuckyGiftUserJackpotCondition) GetRatioPpm() int64 {
if x != nil {
return x.RatioPpm
}
return 0
}
func (x *LuckyGiftUserJackpotCondition) GetLimitPpm() int64 {
if x != nil {
return x.LimitPpm
}
return 0
}
func (x *LuckyGiftUserJackpotCondition) GetFactorPpm() int64 {
if x != nil {
return x.FactorPpm
}
return 0
}
func (x *LuckyGiftUserJackpotCondition) GetPassed() bool {
if x != nil {
return x.Passed
}
return false
}
func (x *LuckyGiftUserJackpotCondition) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
type LuckyGiftUserJackpotHit struct {
state protoimpl.MessageState `protogen:"open.v1"`
DrawId string `protobuf:"bytes,1,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"`
RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
RuleVersion int64 `protobuf:"varint,3,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
Stage string `protobuf:"bytes,4,opt,name=stage,proto3" json:"stage,omitempty"`
Mechanism string `protobuf:"bytes,5,opt,name=mechanism,proto3" json:"mechanism,omitempty"`
ReasonCode string `protobuf:"bytes,6,opt,name=reason_code,json=reasonCode,proto3" json:"reason_code,omitempty"`
ReasonSummary string `protobuf:"bytes,7,opt,name=reason_summary,json=reasonSummary,proto3" json:"reason_summary,omitempty"`
TierId string `protobuf:"bytes,8,opt,name=tier_id,json=tierId,proto3" json:"tier_id,omitempty"`
MultiplierPpm int64 `protobuf:"varint,9,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
WagerCoins int64 `protobuf:"varint,10,opt,name=wager_coins,json=wagerCoins,proto3" json:"wager_coins,omitempty"`
PayoutCoins int64 `protobuf:"varint,11,opt,name=payout_coins,json=payoutCoins,proto3" json:"payout_coins,omitempty"`
OccurredAtMs int64 `protobuf:"varint,12,opt,name=occurred_at_ms,json=occurredAtMs,proto3" json:"occurred_at_ms,omitempty"`
Conditions []*LuckyGiftUserJackpotCondition `protobuf:"bytes,13,rep,name=conditions,proto3" json:"conditions,omitempty"`
// event_key 只标识这条画像大奖事实,供前端稳定追加去重;不包含用户策略键或用户哈希。
EventKey string `protobuf:"bytes,14,opt,name=event_key,json=eventKey,proto3" json:"event_key,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftUserJackpotHit) Reset() {
*x = LuckyGiftUserJackpotHit{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftUserJackpotHit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftUserJackpotHit) ProtoMessage() {}
func (x *LuckyGiftUserJackpotHit) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftUserJackpotHit.ProtoReflect.Descriptor instead.
func (*LuckyGiftUserJackpotHit) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{39}
}
func (x *LuckyGiftUserJackpotHit) GetDrawId() string {
if x != nil {
return x.DrawId
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftUserJackpotHit) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetMechanism() string {
if x != nil {
return x.Mechanism
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetReasonCode() string {
if x != nil {
return x.ReasonCode
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetReasonSummary() string {
if x != nil {
return x.ReasonSummary
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetTierId() string {
if x != nil {
return x.TierId
}
return ""
}
func (x *LuckyGiftUserJackpotHit) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftUserJackpotHit) GetWagerCoins() int64 {
if x != nil {
return x.WagerCoins
}
return 0
}
func (x *LuckyGiftUserJackpotHit) GetPayoutCoins() int64 {
if x != nil {
return x.PayoutCoins
}
return 0
}
func (x *LuckyGiftUserJackpotHit) GetOccurredAtMs() int64 {
if x != nil {
return x.OccurredAtMs
}
return 0
}
func (x *LuckyGiftUserJackpotHit) GetConditions() []*LuckyGiftUserJackpotCondition {
if x != nil {
return x.Conditions
}
return nil
}
func (x *LuckyGiftUserJackpotHit) GetEventKey() string {
if x != nil {
return x.EventKey
}
return ""
}
type GetLuckyGiftUserProfileResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Profile *LuckyGiftUserProfile `protobuf:"bytes,1,opt,name=profile,proto3" json:"profile,omitempty"`
MultiplierDistribution []*LuckyGiftUserMultiplierStat `protobuf:"bytes,2,rep,name=multiplier_distribution,json=multiplierDistribution,proto3" json:"multiplier_distribution,omitempty"`
JackpotHits []*LuckyGiftUserJackpotHit `protobuf:"bytes,3,rep,name=jackpot_hits,json=jackpotHits,proto3" json:"jackpot_hits,omitempty"`
JackpotHitTotal int64 `protobuf:"varint,4,opt,name=jackpot_hit_total,json=jackpotHitTotal,proto3" json:"jackpot_hit_total,omitempty"`
SnapshotAtMs int64 `protobuf:"varint,5,opt,name=snapshot_at_ms,json=snapshotAtMs,proto3" json:"snapshot_at_ms,omitempty"`
JackpotPage int32 `protobuf:"varint,6,opt,name=jackpot_page,json=jackpotPage,proto3" json:"jackpot_page,omitempty"`
JackpotPageSize int32 `protobuf:"varint,7,opt,name=jackpot_page_size,json=jackpotPageSize,proto3" json:"jackpot_page_size,omitempty"`
NextJackpotCursor string `protobuf:"bytes,8,opt,name=next_jackpot_cursor,json=nextJackpotCursor,proto3" json:"next_jackpot_cursor,omitempty"`
JackpotHasMore bool `protobuf:"varint,9,opt,name=jackpot_has_more,json=jackpotHasMore,proto3" json:"jackpot_has_more,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftUserProfileResponse) Reset() {
*x = GetLuckyGiftUserProfileResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftUserProfileResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftUserProfileResponse) ProtoMessage() {}
func (x *GetLuckyGiftUserProfileResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftUserProfileResponse.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftUserProfileResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{40}
}
func (x *GetLuckyGiftUserProfileResponse) GetProfile() *LuckyGiftUserProfile {
if x != nil {
return x.Profile
}
return nil
}
func (x *GetLuckyGiftUserProfileResponse) GetMultiplierDistribution() []*LuckyGiftUserMultiplierStat {
if x != nil {
return x.MultiplierDistribution
}
return nil
}
func (x *GetLuckyGiftUserProfileResponse) GetJackpotHits() []*LuckyGiftUserJackpotHit {
if x != nil {
return x.JackpotHits
}
return nil
}
func (x *GetLuckyGiftUserProfileResponse) GetJackpotHitTotal() int64 {
if x != nil {
return x.JackpotHitTotal
}
return 0
}
func (x *GetLuckyGiftUserProfileResponse) GetSnapshotAtMs() int64 {
if x != nil {
return x.SnapshotAtMs
}
return 0
}
func (x *GetLuckyGiftUserProfileResponse) GetJackpotPage() int32 {
if x != nil {
return x.JackpotPage
}
return 0
}
func (x *GetLuckyGiftUserProfileResponse) GetJackpotPageSize() int32 {
if x != nil {
return x.JackpotPageSize
}
return 0
}
func (x *GetLuckyGiftUserProfileResponse) GetNextJackpotCursor() string {
if x != nil {
return x.NextJackpotCursor
}
return ""
}
func (x *GetLuckyGiftUserProfileResponse) GetJackpotHasMore() bool {
if x != nil {
return x.JackpotHasMore
}
return false
}
var File_proto_luckygift_v1_luckygift_proto protoreflect.FileDescriptor
const file_proto_luckygift_v1_luckygift_proto_rawDesc = "" +
"\n" +
"\"proto/luckygift/v1/luckygift.proto\x12\x12hyapp.luckygift.v1\"\xa5\x01\n" +
"\vRequestMeta\x12\x1d\n" +
"\n" +
"request_id\x18\x01 \x01(\tR\trequestId\x12\x16\n" +
"\x06caller\x18\x02 \x01(\tR\x06caller\x12&\n" +
"\x0fgateway_node_id\x18\x03 \x01(\tR\rgatewayNodeId\x12\x1c\n" +
"\n" +
"sent_at_ms\x18\x04 \x01(\x03R\bsentAtMs\x12\x19\n" +
"\bapp_code\x18\x05 \x01(\tR\aappCode\"\xf5\x06\n" +
"\rLuckyGiftMeta\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x1d\n" +
"\n" +
"command_id\x18\x02 \x01(\tR\tcommandId\x12\x17\n" +
"\auser_id\x18\x03 \x01(\x03R\x06userId\x12\x1b\n" +
"\tdevice_id\x18\x04 \x01(\tR\bdeviceId\x12\x17\n" +
"\aroom_id\x18\x05 \x01(\tR\x06roomId\x12\x1b\n" +
"\tanchor_id\x18\x06 \x01(\tR\banchorId\x12\x17\n" +
"\agift_id\x18\a \x01(\tR\x06giftId\x12\x1d\n" +
"\n" +
"coin_spent\x18\b \x01(\x03R\tcoinSpent\x12\x1c\n" +
"\n" +
"paid_at_ms\x18\t \x01(\x03R\bpaidAtMs\x12\x17\n" +
"\apool_id\x18\n" +
" \x01(\tR\x06poolId\x12$\n" +
"\x0etarget_user_id\x18\v \x01(\x03R\ftargetUserId\x12\x1d\n" +
"\n" +
"gift_count\x18\f \x01(\x05R\tgiftCount\x12*\n" +
"\x11visible_region_id\x18\r \x01(\x03R\x0fvisibleRegionId\x12\x1d\n" +
"\n" +
"country_id\x18\x0e \x01(\x03R\tcountryId\x12\x1f\n" +
"\vsender_name\x18\x0f \x01(\tR\n" +
"senderName\x12#\n" +
"\rsender_avatar\x18\x10 \x01(\tR\fsenderAvatar\x123\n" +
"\x16sender_display_user_id\x18\x11 \x01(\tR\x13senderDisplayUserId\x12@\n" +
"\x1dsender_pretty_display_user_id\x18\x12 \x01(\tR\x19senderPrettyDisplayUserId\x12*\n" +
"\x11recharge_7d_coins\x18\x13 \x01(\x03R\x0frecharge7dCoins\x12,\n" +
"\x12recharge_30d_coins\x18\x14 \x01(\x03R\x10recharge30dCoins\x12/\n" +
"\x14last_recharged_at_ms\x18\x15 \x01(\x03R\x11lastRechargedAtMs\x12*\n" +
"\x11gift_income_coins\x18\x16 \x01(\x03R\x0fgiftIncomeCoins\x121\n" +
"\x15user_registered_at_ms\x18\x17 \x01(\x03R\x12userRegisteredAtMs\"\xd3\x01\n" +
"\x11LuckyGiftRuleTier\x12\x14\n" +
"\x05stage\x18\x01 \x01(\tR\x05stage\x12\x17\n" +
"\atier_id\x18\x02 \x01(\tR\x06tierId\x12%\n" +
"\x0emultiplier_ppm\x18\x03 \x01(\x03R\rmultiplierPpm\x12&\n" +
"\x0fbase_weight_ppm\x18\x04 \x01(\x03R\rbaseWeightPpm\x12&\n" +
"\x0fhigh_water_only\x18\x05 \x01(\bR\rhighWaterOnly\x12\x18\n" +
"\aenabled\x18\x06 \x01(\bR\aenabled\"\xcf\x01\n" +
"\x12LuckyGiftRuleStage\x12\x14\n" +
"\x05stage\x18\x01 \x01(\tR\x05stage\x12;\n" +
"\x05tiers\x18\x02 \x03(\v2%.hyapp.luckygift.v1.LuckyGiftRuleTierR\x05tiers\x121\n" +
"\x15min_recharge_7d_coins\x18\x03 \x01(\x03R\x12minRecharge7dCoins\x123\n" +
"\x16min_recharge_30d_coins\x18\x04 \x01(\x03R\x13minRecharge30dCoins\"\x8a\x10\n" +
"\x13LuckyGiftRuleConfig\x12\x19\n" +
"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12!\n" +
"\frule_version\x18\x03 \x01(\x03R\vruleVersion\x12\x18\n" +
"\aenabled\x18\x04 \x01(\bR\aenabled\x12$\n" +
"\x0etarget_rtp_ppm\x18\x05 \x01(\x03R\ftargetRtpPpm\x12\"\n" +
"\rpool_rate_ppm\x18\x06 \x01(\x03R\vpoolRatePpm\x126\n" +
"\x17settlement_window_wager\x18\a \x01(\x03R\x15settlementWindowWager\x12(\n" +
"\x10control_band_ppm\x18\b \x01(\x03R\x0econtrolBandPpm\x120\n" +
"\x14gift_price_reference\x18\t \x01(\x03R\x12giftPriceReference\x12=\n" +
"\x1bnovice_max_equivalent_draws\x18\n" +
" \x01(\x03R\x18noviceMaxEquivalentDraws\x12=\n" +
"\x1bnormal_max_equivalent_draws\x18\v \x01(\x03R\x18normalMaxEquivalentDraws\x12*\n" +
"\x11effective_from_ms\x18\f \x01(\x03R\x0feffectiveFromMs\x12-\n" +
"\x13created_by_admin_id\x18\r \x01(\x03R\x10createdByAdminId\x12\"\n" +
"\rcreated_at_ms\x18\x0e \x01(\x03R\vcreatedAtMs\x12>\n" +
"\x06stages\x18\x0f \x03(\v2&.hyapp.luckygift.v1.LuckyGiftRuleStageR\x06stages\x12)\n" +
"\x10strategy_version\x18\x10 \x01(\tR\x0fstrategyVersion\x12&\n" +
"\x0fprofit_rate_ppm\x18\x11 \x01(\x03R\rprofitRatePpm\x12&\n" +
"\x0fanchor_rate_ppm\x18\x12 \x01(\x03R\ranchorRatePpm\x12,\n" +
"\x12initial_pool_coins\x18\x13 \x01(\x03R\x10initialPoolCoins\x122\n" +
"\x15loss_streak_guarantee\x18\x14 \x01(\x03R\x13lossStreakGuarantee\x12.\n" +
"\x13low_watermark_coins\x18\x15 \x01(\x03R\x11lowWatermarkCoins\x12>\n" +
"\x1clow_water_nonzero_factor_ppm\x18\x16 \x01(\x03R\x18lowWaterNonzeroFactorPpm\x120\n" +
"\x14high_watermark_coins\x18\x17 \x01(\x03R\x12highWatermarkCoins\x12@\n" +
"\x1dhigh_water_nonzero_factor_ppm\x18\x18 \x01(\x03R\x19highWaterNonzeroFactorPpm\x127\n" +
"\x18recharge_boost_window_ms\x18\x19 \x01(\x03R\x15rechargeBoostWindowMs\x129\n" +
"\x19recharge_boost_factor_ppm\x18\x1a \x01(\x03R\x16rechargeBoostFactorPpm\x126\n" +
"\x17jackpot_multiplier_ppms\x18\x1b \x03(\x03R\x15jackpotMultiplierPpms\x12:\n" +
"\x1ajackpot_global_rtp_max_ppm\x18\x1c \x01(\x03R\x16jackpotGlobalRtpMaxPpm\x12A\n" +
"\x1ejackpot_user_round_rtp_max_ppm\x18\x1d \x01(\x03R\x19jackpotUserRoundRtpMaxPpm\x12=\n" +
"\x1cjackpot_user_48h_rtp_max_ppm\x18\x1e \x01(\x03R\x17jackpotUser48hRtpMaxPpm\x12A\n" +
"\x1djackpot_spend_threshold_coins\x18\x1f \x01(\x03R\x1ajackpotSpendThresholdCoins\x12?\n" +
"\x1dmax_jackpot_hits_per_user_day\x18 \x01(\x03R\x18maxJackpotHitsPerUserDay\x12*\n" +
"\x11max_single_payout\x18! \x01(\x03R\x0fmaxSinglePayout\x123\n" +
"\x16user_hourly_payout_cap\x18\" \x01(\x03R\x13userHourlyPayoutCap\x121\n" +
"\x15user_daily_payout_cap\x18# \x01(\x03R\x12userDailyPayoutCap\x125\n" +
"\x17device_daily_payout_cap\x18$ \x01(\x03R\x14deviceDailyPayoutCap\x123\n" +
"\x16room_hourly_payout_cap\x18% \x01(\x03R\x13roomHourlyPayoutCap\x125\n" +
"\x17anchor_daily_payout_cap\x18& \x01(\x03R\x14anchorDailyPayoutCap\x12:\n" +
"\x1auser_24h_rtp_threshold_ppm\x18' \x01(\x03R\x16user24hRtpThresholdPpm\x12E\n" +
" user_24h_ordinary_win_factor_ppm\x18( \x01(\x03R\x1buser24hOrdinaryWinFactorPpm\"\xb0\x01\n" +
"\x15CheckLuckyGiftRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x17\n" +
"\aroom_id\x18\x03 \x01(\tR\x06roomId\x12\x17\n" +
"\agift_id\x18\x04 \x01(\tR\x06giftId\x12\x17\n" +
"\apool_id\x18\x05 \x01(\tR\x06poolId\"\xb8\x02\n" +
"\x16CheckLuckyGiftResponse\x12\x18\n" +
"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x16\n" +
"\x06reason\x18\x02 \x01(\tR\x06reason\x12\x17\n" +
"\agift_id\x18\x03 \x01(\tR\x06giftId\x12\x1d\n" +
"\n" +
"gift_price\x18\x04 \x01(\x03R\tgiftPrice\x12!\n" +
"\frule_version\x18\x05 \x01(\x03R\vruleVersion\x12$\n" +
"\x0etarget_rtp_ppm\x18\x06 \x01(\x03R\ftargetRtpPpm\x12'\n" +
"\x0fexperience_pool\x18\a \x01(\tR\x0eexperiencePool\x12\x17\n" +
"\apool_id\x18\b \x01(\tR\x06poolId\x12)\n" +
"\x10strategy_version\x18\t \x01(\tR\x0fstrategyVersion\"\xc4\a\n" +
"\x13LuckyGiftDrawResult\x12\x17\n" +
"\adraw_id\x18\x01 \x01(\tR\x06drawId\x12\x1d\n" +
"\n" +
"command_id\x18\x02 \x01(\tR\tcommandId\x12\x17\n" +
"\agift_id\x18\x03 \x01(\tR\x06giftId\x12!\n" +
"\frule_version\x18\x04 \x01(\x03R\vruleVersion\x12'\n" +
"\x0fexperience_pool\x18\x05 \x01(\tR\x0eexperiencePool\x12(\n" +
"\x10selected_tier_id\x18\x06 \x01(\tR\x0eselectedTierId\x12*\n" +
"\x11base_reward_coins\x18\a \x01(\x03R\x0fbaseRewardCoins\x124\n" +
"\x16effective_reward_coins\x18\b \x01(\x03R\x14effectiveRewardCoins\x12#\n" +
"\rreward_status\x18\t \x01(\tR\frewardStatus\x12(\n" +
"\x10rtp_window_index\x18\n" +
" \x01(\x03R\x0ertpWindowIndex\x121\n" +
"\x15gift_rtp_window_index\x18\v \x01(\x03R\x12giftRtpWindowIndex\x12-\n" +
"\x13global_base_rtp_ppm\x18\f \x01(\x03R\x10globalBaseRtpPpm\x12)\n" +
"\x11gift_base_rtp_ppm\x18\r \x01(\x03R\x0egiftBaseRtpPpm\x12%\n" +
"\x0estage_feedback\x18\x0e \x01(\bR\rstageFeedback\x12'\n" +
"\x0fhigh_multiplier\x18\x0f \x01(\bR\x0ehighMultiplier\x12\"\n" +
"\rcreated_at_ms\x18\x10 \x01(\x03R\vcreatedAtMs\x12\x17\n" +
"\apool_id\x18\x11 \x01(\tR\x06poolId\x12%\n" +
"\x0emultiplier_ppm\x18\x12 \x01(\x03R\rmultiplierPpm\x122\n" +
"\x15wallet_transaction_id\x18\x13 \x01(\tR\x13walletTransactionId\x12,\n" +
"\x12coin_balance_after\x18\x14 \x01(\x03R\x10coinBalanceAfter\x12\x17\n" +
"\auser_id\x18\x15 \x01(\x03R\x06userId\x12(\n" +
"\x10external_user_id\x18\x16 \x01(\tR\x0eexternalUserId\x12\x19\n" +
"\bapp_code\x18\x17 \x01(\tR\aappCode\x124\n" +
"\x04hits\x18\x18 \x03(\v2 .hyapp.luckygift.v1.LuckyGiftHitR\x04hits\"_\n" +
"\x1bExecuteLuckyGiftDrawRequest\x12@\n" +
"\n" +
"lucky_gift\x18\x01 \x01(\v2!.hyapp.luckygift.v1.LuckyGiftMetaR\tluckyGift\"_\n" +
"\x1cExecuteLuckyGiftDrawResponse\x12?\n" +
"\x06result\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftDrawResultR\x06result\"f\n" +
" BatchExecuteLuckyGiftDrawRequest\x12B\n" +
"\vlucky_gifts\x18\x01 \x03(\v2!.hyapp.luckygift.v1.LuckyGiftMetaR\n" +
"luckyGifts\"f\n" +
"!BatchExecuteLuckyGiftDrawResponse\x12A\n" +
"\aresults\x18\x01 \x03(\v2'.hyapp.luckygift.v1.LuckyGiftDrawResultR\aresults\"\xdd\x03\n" +
"\x17ExternalGiftDrawRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x19\n" +
"\bapp_code\x18\x03 \x01(\tR\aappCode\x12(\n" +
"\x10external_user_id\x18\x04 \x01(\tR\x0eexternalUserId\x12\x1d\n" +
"\n" +
"request_id\x18\x05 \x01(\tR\trequestId\x12\x1d\n" +
"\n" +
"gift_count\x18\x06 \x01(\x03R\tgiftCount\x12\x1f\n" +
"\vunit_amount\x18\a \x01(\x03R\n" +
"unitAmount\x12!\n" +
"\ftotal_amount\x18\b \x01(\x03R\vtotalAmount\x12\x1a\n" +
"\bcurrency\x18\t \x01(\tR\bcurrency\x12\x1c\n" +
"\n" +
"paid_at_ms\x18\n" +
" \x01(\x03R\bpaidAtMs\x12#\n" +
"\rmetadata_json\x18\v \x01(\tR\fmetadataJson\x12\x17\n" +
"\apool_id\x18\f \x01(\tR\x06poolId\x12\x1b\n" +
"\tdevice_id\x18\r \x01(\tR\bdeviceId\x121\n" +
"\x15user_registered_at_ms\x18\x0e \x01(\x03R\x12userRegisteredAtMs\"\xb2\x03\n" +
"\x18ExternalGiftDrawResponse\x12\x17\n" +
"\adraw_id\x18\x01 \x01(\tR\x06drawId\x12\x1d\n" +
"\n" +
"request_id\x18\x02 \x01(\tR\trequestId\x12\x19\n" +
"\bapp_code\x18\x04 \x01(\tR\aappCode\x12(\n" +
"\x10external_user_id\x18\x05 \x01(\tR\x0eexternalUserId\x12\x1d\n" +
"\n" +
"gift_count\x18\x06 \x01(\x03R\tgiftCount\x12\x1f\n" +
"\vunit_amount\x18\a \x01(\x03R\n" +
"unitAmount\x12!\n" +
"\ftotal_amount\x18\b \x01(\x03R\vtotalAmount\x12#\n" +
"\rreward_amount\x18\t \x01(\x03R\frewardAmount\x12%\n" +
"\x0emultiplier_ppm\x18\n" +
" \x01(\x03R\rmultiplierPpm\x12#\n" +
"\rreward_status\x18\v \x01(\tR\frewardStatus\x12!\n" +
"\frule_version\x18\f \x01(\x03R\vruleVersion\x12\"\n" +
"\rcreated_at_ms\x18\r \x01(\x03R\vcreatedAtMs\"i\n" +
"\x19GetLuckyGiftConfigRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\"]\n" +
"\x1aGetLuckyGiftConfigResponse\x12?\n" +
"\x06config\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\x06config\"\xc0\x01\n" +
"\x1cUpsertLuckyGiftConfigRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12?\n" +
"\x06config\x18\x02 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\x06config\x12*\n" +
"\x11operator_admin_id\x18\x03 \x01(\x03R\x0foperatorAdminId\"`\n" +
"\x1dUpsertLuckyGiftConfigResponse\x12?\n" +
"\x06config\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\x06config\"R\n" +
"\x1bListLuckyGiftConfigsRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\"a\n" +
"\x1cListLuckyGiftConfigsResponse\x12A\n" +
"\aconfigs\x18\x01 \x03(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\aconfigs\"\xcc\x02\n" +
"\x19ListLuckyGiftDrawsRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\agift_id\x18\x02 \x01(\tR\x06giftId\x12\x17\n" +
"\auser_id\x18\x03 \x01(\x03R\x06userId\x12\x17\n" +
"\aroom_id\x18\x04 \x01(\tR\x06roomId\x12\x16\n" +
"\x06status\x18\x05 \x01(\tR\x06status\x12\x12\n" +
"\x04page\x18\x06 \x01(\x05R\x04page\x12\x1b\n" +
"\tpage_size\x18\a \x01(\x05R\bpageSize\x12\x17\n" +
"\apool_id\x18\b \x01(\tR\x06poolId\x12(\n" +
"\x10external_user_id\x18\n" +
" \x01(\tR\x0eexternalUserId\x12#\n" +
"\rexternal_only\x18\v \x01(\bR\fexternalOnly\"q\n" +
"\x1aListLuckyGiftDrawsResponse\x12=\n" +
"\x05draws\x18\x01 \x03(\v2'.hyapp.luckygift.v1.LuckyGiftDrawResultR\x05draws\x12\x14\n" +
"\x05total\x18\x02 \x01(\x03R\x05total\"\xaf\x03\n" +
"\x14LuckyGiftDrawSummary\x12\x17\n" +
"\apool_id\x18\x01 \x01(\tR\x06poolId\x12\x1f\n" +
"\vtotal_draws\x18\x02 \x01(\x03R\n" +
"totalDraws\x12!\n" +
"\funique_users\x18\x03 \x01(\x03R\vuniqueUsers\x12!\n" +
"\funique_rooms\x18\x04 \x01(\x03R\vuniqueRooms\x12*\n" +
"\x11total_spent_coins\x18\x05 \x01(\x03R\x0ftotalSpentCoins\x12,\n" +
"\x12total_reward_coins\x18\x06 \x01(\x03R\x10totalRewardCoins\x12*\n" +
"\x11base_reward_coins\x18\a \x01(\x03R\x0fbaseRewardCoins\x12$\n" +
"\x0eactual_rtp_ppm\x18\b \x01(\x03R\factualRtpPpm\x12#\n" +
"\rpending_draws\x18\t \x01(\x03R\fpendingDraws\x12#\n" +
"\rgranted_draws\x18\n" +
" \x01(\x03R\fgrantedDraws\x12!\n" +
"\ffailed_draws\x18\v \x01(\x03R\vfailedDraws\"\xbf\x03\n" +
"\x14LuckyGiftPoolBalance\x12\x19\n" +
"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12\x18\n" +
"\abalance\x18\x03 \x01(\x03R\abalance\x12#\n" +
"\rreserve_floor\x18\x04 \x01(\x03R\freserveFloor\x12+\n" +
"\x11available_balance\x18\x05 \x01(\x03R\x10availableBalance\x12\x19\n" +
"\btotal_in\x18\x06 \x01(\x03R\atotalIn\x12\x1b\n" +
"\ttotal_out\x18\a \x01(\x03R\btotalOut\x12\"\n" +
"\fmaterialized\x18\b \x01(\bR\fmaterialized\x12\"\n" +
"\rupdated_at_ms\x18\t \x01(\x03R\vupdatedAtMs\x12)\n" +
"\x10strategy_version\x18\n" +
" \x01(\tR\x0fstrategyVersion\x12.\n" +
"\x13manual_credit_total\x18\v \x01(\x03R\x11manualCreditTotal\x12,\n" +
"\x12manual_debit_total\x18\f \x01(\x03R\x10manualDebitTotal\"\xa0\x02\n" +
"\x1eGetLuckyGiftDrawSummaryRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\agift_id\x18\x02 \x01(\tR\x06giftId\x12\x17\n" +
"\auser_id\x18\x03 \x01(\x03R\x06userId\x12\x17\n" +
"\aroom_id\x18\x04 \x01(\tR\x06roomId\x12\x16\n" +
"\x06status\x18\x05 \x01(\tR\x06status\x12\x17\n" +
"\apool_id\x18\x06 \x01(\tR\x06poolId\x12(\n" +
"\x10external_user_id\x18\b \x01(\tR\x0eexternalUserId\x12#\n" +
"\rexternal_only\x18\t \x01(\bR\fexternalOnly\"e\n" +
"\x1fGetLuckyGiftDrawSummaryResponse\x12B\n" +
"\asummary\x18\x01 \x01(\v2(.hyapp.luckygift.v1.LuckyGiftDrawSummaryR\asummary\"\x9b\x01\n" +
" ListLuckyGiftPoolBalancesRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12)\n" +
"\x10strategy_version\x18\x03 \x01(\tR\x0fstrategyVersion\"c\n" +
"!ListLuckyGiftPoolBalancesResponse\x12>\n" +
"\x05pools\x18\x01 \x03(\v2(.hyapp.luckygift.v1.LuckyGiftPoolBalanceR\x05pools\"\xba\x01\n" +
"\fLuckyGiftHit\x12\x1d\n" +
"\n" +
"gift_index\x18\x01 \x01(\x05R\tgiftIndex\x12\x17\n" +
"\adraw_id\x18\x02 \x01(\tR\x06drawId\x12(\n" +
"\x10selected_tier_id\x18\x03 \x01(\tR\x0eselectedTierId\x12%\n" +
"\x0emultiplier_ppm\x18\x04 \x01(\x03R\rmultiplierPpm\x12!\n" +
"\freward_coins\x18\x05 \x01(\x03R\vrewardCoins\"\xc6\x02\n" +
"!AdjustLuckyGiftPoolBalanceRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12)\n" +
"\x10strategy_version\x18\x03 \x01(\tR\x0fstrategyVersion\x12#\n" +
"\radjustment_id\x18\x04 \x01(\tR\fadjustmentId\x12\x1c\n" +
"\tdirection\x18\x05 \x01(\tR\tdirection\x12!\n" +
"\famount_coins\x18\x06 \x01(\x03R\vamountCoins\x12\x16\n" +
"\x06reason\x18\a \x01(\tR\x06reason\x12*\n" +
"\x11operator_admin_id\x18\b \x01(\x03R\x0foperatorAdminId\"\x92\x03\n" +
"\x17LuckyGiftPoolAdjustment\x12#\n" +
"\radjustment_id\x18\x01 \x01(\tR\fadjustmentId\x12\x19\n" +
"\bapp_code\x18\x02 \x01(\tR\aappCode\x12\x17\n" +
"\apool_id\x18\x03 \x01(\tR\x06poolId\x12)\n" +
"\x10strategy_version\x18\x04 \x01(\tR\x0fstrategyVersion\x12\x1c\n" +
"\tdirection\x18\x05 \x01(\tR\tdirection\x12!\n" +
"\famount_coins\x18\x06 \x01(\x03R\vamountCoins\x12\x16\n" +
"\x06reason\x18\a \x01(\tR\x06reason\x12*\n" +
"\x11operator_admin_id\x18\b \x01(\x03R\x0foperatorAdminId\x12%\n" +
"\x0ebalance_before\x18\t \x01(\x03R\rbalanceBefore\x12#\n" +
"\rbalance_after\x18\n" +
" \x01(\x03R\fbalanceAfter\x12\"\n" +
"\rcreated_at_ms\x18\v \x01(\x03R\vcreatedAtMs\"\xdc\x01\n" +
"\"AdjustLuckyGiftPoolBalanceResponse\x12K\n" +
"\n" +
"adjustment\x18\x01 \x01(\v2+.hyapp.luckygift.v1.LuckyGiftPoolAdjustmentR\n" +
"adjustment\x12<\n" +
"\x04pool\x18\x02 \x01(\v2(.hyapp.luckygift.v1.LuckyGiftPoolBalanceR\x04pool\x12+\n" +
"\x11idempotent_replay\x18\x03 \x01(\bR\x10idempotentReplay\"\xc5\x01\n" +
"\x1aLuckyGiftUserProfileWindow\x12\x14\n" +
"\x05draws\x18\x01 \x01(\x03R\x05draws\x12\x1f\n" +
"\vwager_coins\x18\x02 \x01(\x03R\n" +
"wagerCoins\x12!\n" +
"\fpayout_coins\x18\x03 \x01(\x03R\vpayoutCoins\x12\x1b\n" +
"\tnet_coins\x18\x04 \x01(\x03R\bnetCoins\x12\x17\n" +
"\artp_ppm\x18\x05 \x01(\x03R\x06rtpPpm\x12\x17\n" +
"\ahas_rtp\x18\x06 \x01(\bR\x06hasRtp\"\xfd\r\n" +
"\x14LuckyGiftUserProfile\x12\x19\n" +
"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12#\n" +
"\ridentity_type\x18\x03 \x01(\tR\fidentityType\x12(\n" +
"\x10internal_user_id\x18\x04 \x01(\x03R\x0einternalUserId\x12(\n" +
"\x10external_user_id\x18\x05 \x01(\tR\x0eexternalUserId\x12!\n" +
"\frule_version\x18\x06 \x01(\x03R\vruleVersion\x12)\n" +
"\x10strategy_version\x18\a \x01(\tR\x0fstrategyVersion\x12\x14\n" +
"\x05stage\x18\b \x01(\tR\x05stage\x12\x1d\n" +
"\n" +
"paid_draws\x18\t \x01(\x03R\tpaidDraws\x12)\n" +
"\x10equivalent_draws\x18\n" +
" \x01(\x03R\x0fequivalentDraws\x12\x1f\n" +
"\vloss_streak\x18\v \x01(\x03R\n" +
"lossStreak\x12?\n" +
"\x1cpending_spend_jackpot_tokens\x18\f \x01(\x03R\x19pendingSpendJackpotTokens\x12:\n" +
"\x19guarantee_draws_remaining\x18\r \x01(\x03R\x17guaranteeDrawsRemaining\x12+\n" +
"\x11downweight_active\x18\x0e \x01(\bR\x10downweightActive\x122\n" +
"\x15downweight_factor_ppm\x18\x0f \x01(\x03R\x13downweightFactorPpm\x12I\n" +
"\bone_hour\x18\x10 \x01(\v2..hyapp.luckygift.v1.LuckyGiftUserProfileWindowR\aoneHour\x12Z\n" +
"\x11twenty_four_hours\x18\x11 \x01(\v2..hyapp.luckygift.v1.LuckyGiftUserProfileWindowR\x0ftwentyFourHours\x12Z\n" +
"\x11forty_eight_hours\x18\x12 \x01(\v2..hyapp.luckygift.v1.LuckyGiftUserProfileWindowR\x0ffortyEightHours\x12J\n" +
"\blifetime\x18\x13 \x01(\v2..hyapp.luckygift.v1.LuckyGiftUserProfileWindowR\blifetime\x12*\n" +
"\x11base_reward_coins\x18\x14 \x01(\x03R\x0fbaseRewardCoins\x12,\n" +
"\x12ordinary_win_count\x18\x15 \x01(\x03R\x10ordinaryWinCount\x12J\n" +
"\"high_multiplier_ordinary_win_count\x18\x16 \x01(\x03R\x1ehighMultiplierOrdinaryWinCount\x12C\n" +
"\x1ertp_compensation_jackpot_count\x18\x17 \x01(\x03R\x1brtpCompensationJackpotCount\x12C\n" +
"\x1ecumulative_spend_jackpot_count\x18\x18 \x01(\x03R\x1bcumulativeSpendJackpotCount\x12.\n" +
"\x13guarantee_hit_count\x18\x19 \x01(\x03R\x11guaranteeHitCount\x12&\n" +
"\x0fzero_draw_count\x18\x1a \x01(\x03R\rzeroDrawCount\x12,\n" +
"\x12granted_draw_count\x18\x1b \x01(\x03R\x10grantedDrawCount\x12,\n" +
"\x12pending_draw_count\x18\x1c \x01(\x03R\x10pendingDrawCount\x12*\n" +
"\x11failed_draw_count\x18\x1d \x01(\x03R\x0ffailedDrawCount\x12,\n" +
"\x12max_multiplier_ppm\x18\x1e \x01(\x03R\x10maxMultiplierPpm\x12(\n" +
"\x10max_reward_coins\x18\x1f \x01(\x03R\x0emaxRewardCoins\x12'\n" +
"\x10first_draw_at_ms\x18 \x01(\x03R\rfirstDrawAtMs\x12%\n" +
"\x0flast_draw_at_ms\x18! \x01(\x03R\flastDrawAtMs\x12(\n" +
"\x10aggregated_at_ms\x18\" \x01(\x03R\x0eaggregatedAtMs\x12\x1e\n" +
"\vdata_lag_ms\x18# \x01(\x03R\tdataLagMs\x12:\n" +
"\x1auser_24h_rtp_threshold_ppm\x18$ \x01(\x03R\x16user24hRtpThresholdPpm\"\xa0\x03\n" +
" ListLuckyGiftUserProfilesRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12#\n" +
"\ridentity_type\x18\x03 \x01(\tR\fidentityType\x12(\n" +
"\x10internal_user_id\x18\x04 \x01(\x03R\x0einternalUserId\x12(\n" +
"\x10external_user_id\x18\x05 \x01(\tR\x0eexternalUserId\x12\x14\n" +
"\x05stage\x18\x06 \x01(\tR\x05stage\x12\x16\n" +
"\x06status\x18\a \x01(\tR\x06status\x12\x17\n" +
"\asort_by\x18\b \x01(\tR\x06sortBy\x12%\n" +
"\x0esort_direction\x18\t \x01(\tR\rsortDirection\x12\x12\n" +
"\x04page\x18\n" +
" \x01(\x05R\x04page\x12\x1b\n" +
"\tpage_size\x18\v \x01(\x05R\bpageSize\x12\x16\n" +
"\x06cursor\x18\f \x01(\tR\x06cursor\"\xe1\x01\n" +
"!ListLuckyGiftUserProfilesResponse\x12D\n" +
"\bprofiles\x18\x01 \x03(\v2(.hyapp.luckygift.v1.LuckyGiftUserProfileR\bprofiles\x12\x14\n" +
"\x05total\x18\x02 \x01(\x03R\x05total\x12$\n" +
"\x0esnapshot_at_ms\x18\x03 \x01(\x03R\fsnapshotAtMs\x12\x1f\n" +
"\vnext_cursor\x18\x04 \x01(\tR\n" +
"nextCursor\x12\x19\n" +
"\bhas_more\x18\x05 \x01(\bR\ahasMore\"\xdd\x02\n" +
"\x1eGetLuckyGiftUserProfileRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12#\n" +
"\ridentity_type\x18\x03 \x01(\tR\fidentityType\x12(\n" +
"\x10internal_user_id\x18\x04 \x01(\x03R\x0einternalUserId\x12(\n" +
"\x10external_user_id\x18\x05 \x01(\tR\x0eexternalUserId\x12!\n" +
"\fjackpot_page\x18\x06 \x01(\x05R\vjackpotPage\x12*\n" +
"\x11jackpot_page_size\x18\a \x01(\x05R\x0fjackpotPageSize\x12%\n" +
"\x0ejackpot_cursor\x18\b \x01(\tR\rjackpotCursor\"\xc2\x01\n" +
"\x1bLuckyGiftUserMultiplierStat\x12\x19\n" +
"\bhit_type\x18\x01 \x01(\tR\ahitType\x12%\n" +
"\x0emultiplier_ppm\x18\x02 \x01(\x03R\rmultiplierPpm\x12\x1d\n" +
"\n" +
"draw_count\x18\x03 \x01(\x03R\tdrawCount\x12\x1f\n" +
"\vwager_coins\x18\x04 \x01(\x03R\n" +
"wagerCoins\x12!\n" +
"\fpayout_coins\x18\x05 \x01(\x03R\vpayoutCoins\"\xfc\x01\n" +
"\x1dLuckyGiftUserJackpotCondition\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n" +
"\tnumerator\x18\x02 \x01(\x03R\tnumerator\x12 \n" +
"\vdenominator\x18\x03 \x01(\x03R\vdenominator\x12\x1b\n" +
"\tratio_ppm\x18\x04 \x01(\x03R\bratioPpm\x12\x1b\n" +
"\tlimit_ppm\x18\x05 \x01(\x03R\blimitPpm\x12\x1d\n" +
"\n" +
"factor_ppm\x18\x06 \x01(\x03R\tfactorPpm\x12\x16\n" +
"\x06passed\x18\a \x01(\bR\x06passed\x12\x16\n" +
"\x06reason\x18\b \x01(\tR\x06reason\"\x8a\x04\n" +
"\x17LuckyGiftUserJackpotHit\x12\x17\n" +
"\adraw_id\x18\x01 \x01(\tR\x06drawId\x12\x1d\n" +
"\n" +
"request_id\x18\x02 \x01(\tR\trequestId\x12!\n" +
"\frule_version\x18\x03 \x01(\x03R\vruleVersion\x12\x14\n" +
"\x05stage\x18\x04 \x01(\tR\x05stage\x12\x1c\n" +
"\tmechanism\x18\x05 \x01(\tR\tmechanism\x12\x1f\n" +
"\vreason_code\x18\x06 \x01(\tR\n" +
"reasonCode\x12%\n" +
"\x0ereason_summary\x18\a \x01(\tR\rreasonSummary\x12\x17\n" +
"\atier_id\x18\b \x01(\tR\x06tierId\x12%\n" +
"\x0emultiplier_ppm\x18\t \x01(\x03R\rmultiplierPpm\x12\x1f\n" +
"\vwager_coins\x18\n" +
" \x01(\x03R\n" +
"wagerCoins\x12!\n" +
"\fpayout_coins\x18\v \x01(\x03R\vpayoutCoins\x12$\n" +
"\x0eoccurred_at_ms\x18\f \x01(\x03R\foccurredAtMs\x12Q\n" +
"\n" +
"conditions\x18\r \x03(\v21.hyapp.luckygift.v1.LuckyGiftUserJackpotConditionR\n" +
"conditions\x12\x1b\n" +
"\tevent_key\x18\x0e \x01(\tR\beventKey\"\x9a\x04\n" +
"\x1fGetLuckyGiftUserProfileResponse\x12B\n" +
"\aprofile\x18\x01 \x01(\v2(.hyapp.luckygift.v1.LuckyGiftUserProfileR\aprofile\x12h\n" +
"\x17multiplier_distribution\x18\x02 \x03(\v2/.hyapp.luckygift.v1.LuckyGiftUserMultiplierStatR\x16multiplierDistribution\x12N\n" +
"\fjackpot_hits\x18\x03 \x03(\v2+.hyapp.luckygift.v1.LuckyGiftUserJackpotHitR\vjackpotHits\x12*\n" +
"\x11jackpot_hit_total\x18\x04 \x01(\x03R\x0fjackpotHitTotal\x12$\n" +
"\x0esnapshot_at_ms\x18\x05 \x01(\x03R\fsnapshotAtMs\x12!\n" +
"\fjackpot_page\x18\x06 \x01(\x05R\vjackpotPage\x12*\n" +
"\x11jackpot_page_size\x18\a \x01(\x05R\x0fjackpotPageSize\x12.\n" +
"\x13next_jackpot_cursor\x18\b \x01(\tR\x11nextJackpotCursor\x12(\n" +
"\x10jackpot_has_more\x18\t \x01(\bR\x0ejackpotHasMore2\xf7\x03\n" +
"\x10LuckyGiftService\x12g\n" +
"\x0eCheckLuckyGift\x12).hyapp.luckygift.v1.CheckLuckyGiftRequest\x1a*.hyapp.luckygift.v1.CheckLuckyGiftResponse\x12y\n" +
"\x14ExecuteLuckyGiftDraw\x12/.hyapp.luckygift.v1.ExecuteLuckyGiftDrawRequest\x1a0.hyapp.luckygift.v1.ExecuteLuckyGiftDrawResponse\x12\x88\x01\n" +
"\x19BatchExecuteLuckyGiftDraw\x124.hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawRequest\x1a5.hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawResponse\x12t\n" +
"\x17ExecuteExternalGiftDraw\x12+.hyapp.luckygift.v1.ExternalGiftDrawRequest\x1a,.hyapp.luckygift.v1.ExternalGiftDrawResponse2\xa8\t\n" +
"\x15AdminLuckyGiftService\x12s\n" +
"\x12GetLuckyGiftConfig\x12-.hyapp.luckygift.v1.GetLuckyGiftConfigRequest\x1a..hyapp.luckygift.v1.GetLuckyGiftConfigResponse\x12|\n" +
"\x15UpsertLuckyGiftConfig\x120.hyapp.luckygift.v1.UpsertLuckyGiftConfigRequest\x1a1.hyapp.luckygift.v1.UpsertLuckyGiftConfigResponse\x12y\n" +
"\x14ListLuckyGiftConfigs\x12/.hyapp.luckygift.v1.ListLuckyGiftConfigsRequest\x1a0.hyapp.luckygift.v1.ListLuckyGiftConfigsResponse\x12s\n" +
"\x12ListLuckyGiftDraws\x12-.hyapp.luckygift.v1.ListLuckyGiftDrawsRequest\x1a..hyapp.luckygift.v1.ListLuckyGiftDrawsResponse\x12\x82\x01\n" +
"\x17GetLuckyGiftDrawSummary\x122.hyapp.luckygift.v1.GetLuckyGiftDrawSummaryRequest\x1a3.hyapp.luckygift.v1.GetLuckyGiftDrawSummaryResponse\x12\x88\x01\n" +
"\x19ListLuckyGiftPoolBalances\x124.hyapp.luckygift.v1.ListLuckyGiftPoolBalancesRequest\x1a5.hyapp.luckygift.v1.ListLuckyGiftPoolBalancesResponse\x12\x8b\x01\n" +
"\x1aAdjustLuckyGiftPoolBalance\x125.hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest\x1a6.hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse\x12\x88\x01\n" +
"\x19ListLuckyGiftUserProfiles\x124.hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest\x1a5.hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse\x12\x82\x01\n" +
"\x17GetLuckyGiftUserProfile\x122.hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest\x1a3.hyapp.luckygift.v1.GetLuckyGiftUserProfileResponseB0Z.hyapp.local/api/proto/luckygift/v1;luckygiftv1b\x06proto3"
var (
file_proto_luckygift_v1_luckygift_proto_rawDescOnce sync.Once
file_proto_luckygift_v1_luckygift_proto_rawDescData []byte
)
func file_proto_luckygift_v1_luckygift_proto_rawDescGZIP() []byte {
file_proto_luckygift_v1_luckygift_proto_rawDescOnce.Do(func() {
file_proto_luckygift_v1_luckygift_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_luckygift_v1_luckygift_proto_rawDesc), len(file_proto_luckygift_v1_luckygift_proto_rawDesc)))
})
return file_proto_luckygift_v1_luckygift_proto_rawDescData
}
var file_proto_luckygift_v1_luckygift_proto_msgTypes = make([]protoimpl.MessageInfo, 41)
var file_proto_luckygift_v1_luckygift_proto_goTypes = []any{
(*RequestMeta)(nil), // 0: hyapp.luckygift.v1.RequestMeta
(*LuckyGiftMeta)(nil), // 1: hyapp.luckygift.v1.LuckyGiftMeta
(*LuckyGiftRuleTier)(nil), // 2: hyapp.luckygift.v1.LuckyGiftRuleTier
(*LuckyGiftRuleStage)(nil), // 3: hyapp.luckygift.v1.LuckyGiftRuleStage
(*LuckyGiftRuleConfig)(nil), // 4: hyapp.luckygift.v1.LuckyGiftRuleConfig
(*CheckLuckyGiftRequest)(nil), // 5: hyapp.luckygift.v1.CheckLuckyGiftRequest
(*CheckLuckyGiftResponse)(nil), // 6: hyapp.luckygift.v1.CheckLuckyGiftResponse
(*LuckyGiftDrawResult)(nil), // 7: hyapp.luckygift.v1.LuckyGiftDrawResult
(*ExecuteLuckyGiftDrawRequest)(nil), // 8: hyapp.luckygift.v1.ExecuteLuckyGiftDrawRequest
(*ExecuteLuckyGiftDrawResponse)(nil), // 9: hyapp.luckygift.v1.ExecuteLuckyGiftDrawResponse
(*BatchExecuteLuckyGiftDrawRequest)(nil), // 10: hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawRequest
(*BatchExecuteLuckyGiftDrawResponse)(nil), // 11: hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawResponse
(*ExternalGiftDrawRequest)(nil), // 12: hyapp.luckygift.v1.ExternalGiftDrawRequest
(*ExternalGiftDrawResponse)(nil), // 13: hyapp.luckygift.v1.ExternalGiftDrawResponse
(*GetLuckyGiftConfigRequest)(nil), // 14: hyapp.luckygift.v1.GetLuckyGiftConfigRequest
(*GetLuckyGiftConfigResponse)(nil), // 15: hyapp.luckygift.v1.GetLuckyGiftConfigResponse
(*UpsertLuckyGiftConfigRequest)(nil), // 16: hyapp.luckygift.v1.UpsertLuckyGiftConfigRequest
(*UpsertLuckyGiftConfigResponse)(nil), // 17: hyapp.luckygift.v1.UpsertLuckyGiftConfigResponse
(*ListLuckyGiftConfigsRequest)(nil), // 18: hyapp.luckygift.v1.ListLuckyGiftConfigsRequest
(*ListLuckyGiftConfigsResponse)(nil), // 19: hyapp.luckygift.v1.ListLuckyGiftConfigsResponse
(*ListLuckyGiftDrawsRequest)(nil), // 20: hyapp.luckygift.v1.ListLuckyGiftDrawsRequest
(*ListLuckyGiftDrawsResponse)(nil), // 21: hyapp.luckygift.v1.ListLuckyGiftDrawsResponse
(*LuckyGiftDrawSummary)(nil), // 22: hyapp.luckygift.v1.LuckyGiftDrawSummary
(*LuckyGiftPoolBalance)(nil), // 23: hyapp.luckygift.v1.LuckyGiftPoolBalance
(*GetLuckyGiftDrawSummaryRequest)(nil), // 24: hyapp.luckygift.v1.GetLuckyGiftDrawSummaryRequest
(*GetLuckyGiftDrawSummaryResponse)(nil), // 25: hyapp.luckygift.v1.GetLuckyGiftDrawSummaryResponse
(*ListLuckyGiftPoolBalancesRequest)(nil), // 26: hyapp.luckygift.v1.ListLuckyGiftPoolBalancesRequest
(*ListLuckyGiftPoolBalancesResponse)(nil), // 27: hyapp.luckygift.v1.ListLuckyGiftPoolBalancesResponse
(*LuckyGiftHit)(nil), // 28: hyapp.luckygift.v1.LuckyGiftHit
(*AdjustLuckyGiftPoolBalanceRequest)(nil), // 29: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest
(*LuckyGiftPoolAdjustment)(nil), // 30: hyapp.luckygift.v1.LuckyGiftPoolAdjustment
(*AdjustLuckyGiftPoolBalanceResponse)(nil), // 31: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse
(*LuckyGiftUserProfileWindow)(nil), // 32: hyapp.luckygift.v1.LuckyGiftUserProfileWindow
(*LuckyGiftUserProfile)(nil), // 33: hyapp.luckygift.v1.LuckyGiftUserProfile
(*ListLuckyGiftUserProfilesRequest)(nil), // 34: hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest
(*ListLuckyGiftUserProfilesResponse)(nil), // 35: hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse
(*GetLuckyGiftUserProfileRequest)(nil), // 36: hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest
(*LuckyGiftUserMultiplierStat)(nil), // 37: hyapp.luckygift.v1.LuckyGiftUserMultiplierStat
(*LuckyGiftUserJackpotCondition)(nil), // 38: hyapp.luckygift.v1.LuckyGiftUserJackpotCondition
(*LuckyGiftUserJackpotHit)(nil), // 39: hyapp.luckygift.v1.LuckyGiftUserJackpotHit
(*GetLuckyGiftUserProfileResponse)(nil), // 40: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse
}
var file_proto_luckygift_v1_luckygift_proto_depIdxs = []int32{
0, // 0: hyapp.luckygift.v1.LuckyGiftMeta.meta:type_name -> hyapp.luckygift.v1.RequestMeta
2, // 1: hyapp.luckygift.v1.LuckyGiftRuleStage.tiers:type_name -> hyapp.luckygift.v1.LuckyGiftRuleTier
3, // 2: hyapp.luckygift.v1.LuckyGiftRuleConfig.stages:type_name -> hyapp.luckygift.v1.LuckyGiftRuleStage
0, // 3: hyapp.luckygift.v1.CheckLuckyGiftRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
28, // 4: hyapp.luckygift.v1.LuckyGiftDrawResult.hits:type_name -> hyapp.luckygift.v1.LuckyGiftHit
1, // 5: hyapp.luckygift.v1.ExecuteLuckyGiftDrawRequest.lucky_gift:type_name -> hyapp.luckygift.v1.LuckyGiftMeta
7, // 6: hyapp.luckygift.v1.ExecuteLuckyGiftDrawResponse.result:type_name -> hyapp.luckygift.v1.LuckyGiftDrawResult
1, // 7: hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawRequest.lucky_gifts:type_name -> hyapp.luckygift.v1.LuckyGiftMeta
7, // 8: hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawResponse.results:type_name -> hyapp.luckygift.v1.LuckyGiftDrawResult
0, // 9: hyapp.luckygift.v1.ExternalGiftDrawRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
0, // 10: hyapp.luckygift.v1.GetLuckyGiftConfigRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
4, // 11: hyapp.luckygift.v1.GetLuckyGiftConfigResponse.config:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
0, // 12: hyapp.luckygift.v1.UpsertLuckyGiftConfigRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
4, // 13: hyapp.luckygift.v1.UpsertLuckyGiftConfigRequest.config:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
4, // 14: hyapp.luckygift.v1.UpsertLuckyGiftConfigResponse.config:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
0, // 15: hyapp.luckygift.v1.ListLuckyGiftConfigsRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
4, // 16: hyapp.luckygift.v1.ListLuckyGiftConfigsResponse.configs:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
0, // 17: hyapp.luckygift.v1.ListLuckyGiftDrawsRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
7, // 18: hyapp.luckygift.v1.ListLuckyGiftDrawsResponse.draws:type_name -> hyapp.luckygift.v1.LuckyGiftDrawResult
0, // 19: hyapp.luckygift.v1.GetLuckyGiftDrawSummaryRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
22, // 20: hyapp.luckygift.v1.GetLuckyGiftDrawSummaryResponse.summary:type_name -> hyapp.luckygift.v1.LuckyGiftDrawSummary
0, // 21: hyapp.luckygift.v1.ListLuckyGiftPoolBalancesRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
23, // 22: hyapp.luckygift.v1.ListLuckyGiftPoolBalancesResponse.pools:type_name -> hyapp.luckygift.v1.LuckyGiftPoolBalance
0, // 23: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
30, // 24: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse.adjustment:type_name -> hyapp.luckygift.v1.LuckyGiftPoolAdjustment
23, // 25: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse.pool:type_name -> hyapp.luckygift.v1.LuckyGiftPoolBalance
32, // 26: hyapp.luckygift.v1.LuckyGiftUserProfile.one_hour:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
32, // 27: hyapp.luckygift.v1.LuckyGiftUserProfile.twenty_four_hours:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
32, // 28: hyapp.luckygift.v1.LuckyGiftUserProfile.forty_eight_hours:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
32, // 29: hyapp.luckygift.v1.LuckyGiftUserProfile.lifetime:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
0, // 30: hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
33, // 31: hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse.profiles:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfile
0, // 32: hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
38, // 33: hyapp.luckygift.v1.LuckyGiftUserJackpotHit.conditions:type_name -> hyapp.luckygift.v1.LuckyGiftUserJackpotCondition
33, // 34: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse.profile:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfile
37, // 35: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse.multiplier_distribution:type_name -> hyapp.luckygift.v1.LuckyGiftUserMultiplierStat
39, // 36: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse.jackpot_hits:type_name -> hyapp.luckygift.v1.LuckyGiftUserJackpotHit
5, // 37: hyapp.luckygift.v1.LuckyGiftService.CheckLuckyGift:input_type -> hyapp.luckygift.v1.CheckLuckyGiftRequest
8, // 38: hyapp.luckygift.v1.LuckyGiftService.ExecuteLuckyGiftDraw:input_type -> hyapp.luckygift.v1.ExecuteLuckyGiftDrawRequest
10, // 39: hyapp.luckygift.v1.LuckyGiftService.BatchExecuteLuckyGiftDraw:input_type -> hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawRequest
12, // 40: hyapp.luckygift.v1.LuckyGiftService.ExecuteExternalGiftDraw:input_type -> hyapp.luckygift.v1.ExternalGiftDrawRequest
14, // 41: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftConfig:input_type -> hyapp.luckygift.v1.GetLuckyGiftConfigRequest
16, // 42: hyapp.luckygift.v1.AdminLuckyGiftService.UpsertLuckyGiftConfig:input_type -> hyapp.luckygift.v1.UpsertLuckyGiftConfigRequest
18, // 43: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftConfigs:input_type -> hyapp.luckygift.v1.ListLuckyGiftConfigsRequest
20, // 44: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftDraws:input_type -> hyapp.luckygift.v1.ListLuckyGiftDrawsRequest
24, // 45: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftDrawSummary:input_type -> hyapp.luckygift.v1.GetLuckyGiftDrawSummaryRequest
26, // 46: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftPoolBalances:input_type -> hyapp.luckygift.v1.ListLuckyGiftPoolBalancesRequest
29, // 47: hyapp.luckygift.v1.AdminLuckyGiftService.AdjustLuckyGiftPoolBalance:input_type -> hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest
34, // 48: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftUserProfiles:input_type -> hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest
36, // 49: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftUserProfile:input_type -> hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest
6, // 50: hyapp.luckygift.v1.LuckyGiftService.CheckLuckyGift:output_type -> hyapp.luckygift.v1.CheckLuckyGiftResponse
9, // 51: hyapp.luckygift.v1.LuckyGiftService.ExecuteLuckyGiftDraw:output_type -> hyapp.luckygift.v1.ExecuteLuckyGiftDrawResponse
11, // 52: hyapp.luckygift.v1.LuckyGiftService.BatchExecuteLuckyGiftDraw:output_type -> hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawResponse
13, // 53: hyapp.luckygift.v1.LuckyGiftService.ExecuteExternalGiftDraw:output_type -> hyapp.luckygift.v1.ExternalGiftDrawResponse
15, // 54: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftConfig:output_type -> hyapp.luckygift.v1.GetLuckyGiftConfigResponse
17, // 55: hyapp.luckygift.v1.AdminLuckyGiftService.UpsertLuckyGiftConfig:output_type -> hyapp.luckygift.v1.UpsertLuckyGiftConfigResponse
19, // 56: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftConfigs:output_type -> hyapp.luckygift.v1.ListLuckyGiftConfigsResponse
21, // 57: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftDraws:output_type -> hyapp.luckygift.v1.ListLuckyGiftDrawsResponse
25, // 58: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftDrawSummary:output_type -> hyapp.luckygift.v1.GetLuckyGiftDrawSummaryResponse
27, // 59: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftPoolBalances:output_type -> hyapp.luckygift.v1.ListLuckyGiftPoolBalancesResponse
31, // 60: hyapp.luckygift.v1.AdminLuckyGiftService.AdjustLuckyGiftPoolBalance:output_type -> hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse
35, // 61: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftUserProfiles:output_type -> hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse
40, // 62: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftUserProfile:output_type -> hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse
50, // [50:63] is the sub-list for method output_type
37, // [37:50] is the sub-list for method input_type
37, // [37:37] is the sub-list for extension type_name
37, // [37:37] is the sub-list for extension extendee
0, // [0:37] is the sub-list for field type_name
}
func init() { file_proto_luckygift_v1_luckygift_proto_init() }
func file_proto_luckygift_v1_luckygift_proto_init() {
if File_proto_luckygift_v1_luckygift_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_luckygift_v1_luckygift_proto_rawDesc), len(file_proto_luckygift_v1_luckygift_proto_rawDesc)),
NumEnums: 0,
NumMessages: 41,
NumExtensions: 0,
NumServices: 2,
},
GoTypes: file_proto_luckygift_v1_luckygift_proto_goTypes,
DependencyIndexes: file_proto_luckygift_v1_luckygift_proto_depIdxs,
MessageInfos: file_proto_luckygift_v1_luckygift_proto_msgTypes,
}.Build()
File_proto_luckygift_v1_luckygift_proto = out.File
file_proto_luckygift_v1_luckygift_proto_goTypes = nil
file_proto_luckygift_v1_luckygift_proto_depIdxs = nil
}