// 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 }