hyapp-server/api/proto/luckygift/v1/luckygift.pb.go

5864 lines
211 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

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

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.35.0
// source: proto/luckygift/v1/luckygift.proto
package luckygiftv1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// RequestMeta 是 lucky-gift-service 的内部追踪元信息。
// request_id 只用于链路排查,不能被任何业务流程当成幂等键使用。
type RequestMeta struct {
state protoimpl.MessageState `protogen:"open.v1"`
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
Caller string `protobuf:"bytes,2,opt,name=caller,proto3" json:"caller,omitempty"`
GatewayNodeId string `protobuf:"bytes,3,opt,name=gateway_node_id,json=gatewayNodeId,proto3" json:"gateway_node_id,omitempty"`
SentAtMs int64 `protobuf:"varint,4,opt,name=sent_at_ms,json=sentAtMs,proto3" json:"sent_at_ms,omitempty"`
AppCode string `protobuf:"bytes,5,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RequestMeta) Reset() {
*x = RequestMeta{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RequestMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestMeta) ProtoMessage() {}
func (x *RequestMeta) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestMeta.ProtoReflect.Descriptor instead.
func (*RequestMeta) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{0}
}
func (x *RequestMeta) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *RequestMeta) GetCaller() string {
if x != nil {
return x.Caller
}
return ""
}
func (x *RequestMeta) GetGatewayNodeId() string {
if x != nil {
return x.GatewayNodeId
}
return ""
}
func (x *RequestMeta) GetSentAtMs() int64 {
if x != nil {
return x.SentAtMs
}
return 0
}
func (x *RequestMeta) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
// LuckyGiftMeta 是 HyApp 内部房间送礼扣费成功后的抽奖事实输入。
// 金额、目标用户和 command_id 必须来自 wallet-service 已落账的 receipt不能从客户端 payload 推导。
type LuckyGiftMeta struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
CommandId string `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
DeviceId string `protobuf:"bytes,4,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
RoomId string `protobuf:"bytes,5,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
AnchorId string `protobuf:"bytes,6,opt,name=anchor_id,json=anchorId,proto3" json:"anchor_id,omitempty"`
GiftId string `protobuf:"bytes,7,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
CoinSpent int64 `protobuf:"varint,8,opt,name=coin_spent,json=coinSpent,proto3" json:"coin_spent,omitempty"`
PaidAtMs int64 `protobuf:"varint,9,opt,name=paid_at_ms,json=paidAtMs,proto3" json:"paid_at_ms,omitempty"`
PoolId string `protobuf:"bytes,10,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
TargetUserId int64 `protobuf:"varint,11,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
GiftCount int32 `protobuf:"varint,12,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
VisibleRegionId int64 `protobuf:"varint,13,opt,name=visible_region_id,json=visibleRegionId,proto3" json:"visible_region_id,omitempty"`
CountryId int64 `protobuf:"varint,14,opt,name=country_id,json=countryId,proto3" json:"country_id,omitempty"`
// sender_* 是 room-service 在送礼入口已经确认的展示快照,只进入中奖事实和 IM不能参与抽奖或账务判断。
SenderName string `protobuf:"bytes,15,opt,name=sender_name,json=senderName,proto3" json:"sender_name,omitempty"`
SenderAvatar string `protobuf:"bytes,16,opt,name=sender_avatar,json=senderAvatar,proto3" json:"sender_avatar,omitempty"`
SenderDisplayUserId string `protobuf:"bytes,17,opt,name=sender_display_user_id,json=senderDisplayUserId,proto3" json:"sender_display_user_id,omitempty"`
SenderPrettyDisplayUserId string `protobuf:"bytes,18,opt,name=sender_pretty_display_user_id,json=senderPrettyDisplayUserId,proto3" json:"sender_pretty_display_user_id,omitempty"`
// 充值分层与充值后短时加权必须由调用方传入已确认的用户事实;幸运礼物服务不跨库回查用户或支付明细。
Recharge_7DCoins int64 `protobuf:"varint,19,opt,name=recharge_7d_coins,json=recharge7dCoins,proto3" json:"recharge_7d_coins,omitempty"`
Recharge_30DCoins int64 `protobuf:"varint,20,opt,name=recharge_30d_coins,json=recharge30dCoins,proto3" json:"recharge_30d_coins,omitempty"`
LastRechargedAtMs int64 `protobuf:"varint,21,opt,name=last_recharged_at_ms,json=lastRechargedAtMs,proto3" json:"last_recharged_at_ms,omitempty"`
// gift_income_coins 是 wallet 已实际入账给收礼人的收益金币dynamic_v3 用它校验规则主播拆账,缺失或比例不一致均拒绝开奖。
GiftIncomeCoins int64 `protobuf:"varint,22,opt,name=gift_income_coins,json=giftIncomeCoins,proto3" json:"gift_income_coins,omitempty"`
// user_registered_at_ms 是 user-service 在送礼入口返回的账号创建事实快照。
// dynamic_v3 只用它判断闭窗时账号是否已满 48 小时;缺失时普通开奖继续,但补偿大奖资格 fail-close。
UserRegisteredAtMs int64 `protobuf:"varint,23,opt,name=user_registered_at_ms,json=userRegisteredAtMs,proto3" json:"user_registered_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftMeta) Reset() {
*x = LuckyGiftMeta{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftMeta) ProtoMessage() {}
func (x *LuckyGiftMeta) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftMeta.ProtoReflect.Descriptor instead.
func (*LuckyGiftMeta) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{1}
}
func (x *LuckyGiftMeta) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *LuckyGiftMeta) GetCommandId() string {
if x != nil {
return x.CommandId
}
return ""
}
func (x *LuckyGiftMeta) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *LuckyGiftMeta) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *LuckyGiftMeta) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *LuckyGiftMeta) GetAnchorId() string {
if x != nil {
return x.AnchorId
}
return ""
}
func (x *LuckyGiftMeta) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *LuckyGiftMeta) GetCoinSpent() int64 {
if x != nil {
return x.CoinSpent
}
return 0
}
func (x *LuckyGiftMeta) GetPaidAtMs() int64 {
if x != nil {
return x.PaidAtMs
}
return 0
}
func (x *LuckyGiftMeta) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftMeta) GetTargetUserId() int64 {
if x != nil {
return x.TargetUserId
}
return 0
}
func (x *LuckyGiftMeta) GetGiftCount() int32 {
if x != nil {
return x.GiftCount
}
return 0
}
func (x *LuckyGiftMeta) GetVisibleRegionId() int64 {
if x != nil {
return x.VisibleRegionId
}
return 0
}
func (x *LuckyGiftMeta) GetCountryId() int64 {
if x != nil {
return x.CountryId
}
return 0
}
func (x *LuckyGiftMeta) GetSenderName() string {
if x != nil {
return x.SenderName
}
return ""
}
func (x *LuckyGiftMeta) GetSenderAvatar() string {
if x != nil {
return x.SenderAvatar
}
return ""
}
func (x *LuckyGiftMeta) GetSenderDisplayUserId() string {
if x != nil {
return x.SenderDisplayUserId
}
return ""
}
func (x *LuckyGiftMeta) GetSenderPrettyDisplayUserId() string {
if x != nil {
return x.SenderPrettyDisplayUserId
}
return ""
}
func (x *LuckyGiftMeta) GetRecharge_7DCoins() int64 {
if x != nil {
return x.Recharge_7DCoins
}
return 0
}
func (x *LuckyGiftMeta) GetRecharge_30DCoins() int64 {
if x != nil {
return x.Recharge_30DCoins
}
return 0
}
func (x *LuckyGiftMeta) GetLastRechargedAtMs() int64 {
if x != nil {
return x.LastRechargedAtMs
}
return 0
}
func (x *LuckyGiftMeta) GetGiftIncomeCoins() int64 {
if x != nil {
return x.GiftIncomeCoins
}
return 0
}
func (x *LuckyGiftMeta) GetUserRegisteredAtMs() int64 {
if x != nil {
return x.UserRegisteredAtMs
}
return 0
}
type LuckyGiftRuleTier struct {
state protoimpl.MessageState `protogen:"open.v1"`
Stage string `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"`
TierId string `protobuf:"bytes,2,opt,name=tier_id,json=tierId,proto3" json:"tier_id,omitempty"`
MultiplierPpm int64 `protobuf:"varint,3,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
BaseWeightPpm int64 `protobuf:"varint,4,opt,name=base_weight_ppm,json=baseWeightPpm,proto3" json:"base_weight_ppm,omitempty"`
HighWaterOnly bool `protobuf:"varint,5,opt,name=high_water_only,json=highWaterOnly,proto3" json:"high_water_only,omitempty"`
Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftRuleTier) Reset() {
*x = LuckyGiftRuleTier{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftRuleTier) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftRuleTier) ProtoMessage() {}
func (x *LuckyGiftRuleTier) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftRuleTier.ProtoReflect.Descriptor instead.
func (*LuckyGiftRuleTier) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{2}
}
func (x *LuckyGiftRuleTier) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *LuckyGiftRuleTier) GetTierId() string {
if x != nil {
return x.TierId
}
return ""
}
func (x *LuckyGiftRuleTier) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftRuleTier) GetBaseWeightPpm() int64 {
if x != nil {
return x.BaseWeightPpm
}
return 0
}
func (x *LuckyGiftRuleTier) GetHighWaterOnly() bool {
if x != nil {
return x.HighWaterOnly
}
return false
}
func (x *LuckyGiftRuleTier) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
type LuckyGiftRuleStage struct {
state protoimpl.MessageState `protogen:"open.v1"`
Stage string `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"`
Tiers []*LuckyGiftRuleTier `protobuf:"bytes,2,rep,name=tiers,proto3" json:"tiers,omitempty"`
// 两个充值门槛共同决定 dynamic_v3 分层novice 固定为 0/0后续阶段逐维单调递增。
MinRecharge_7DCoins int64 `protobuf:"varint,3,opt,name=min_recharge_7d_coins,json=minRecharge7dCoins,proto3" json:"min_recharge_7d_coins,omitempty"`
MinRecharge_30DCoins int64 `protobuf:"varint,4,opt,name=min_recharge_30d_coins,json=minRecharge30dCoins,proto3" json:"min_recharge_30d_coins,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftRuleStage) Reset() {
*x = LuckyGiftRuleStage{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftRuleStage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftRuleStage) ProtoMessage() {}
func (x *LuckyGiftRuleStage) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftRuleStage.ProtoReflect.Descriptor instead.
func (*LuckyGiftRuleStage) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{3}
}
func (x *LuckyGiftRuleStage) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *LuckyGiftRuleStage) GetTiers() []*LuckyGiftRuleTier {
if x != nil {
return x.Tiers
}
return nil
}
func (x *LuckyGiftRuleStage) GetMinRecharge_7DCoins() int64 {
if x != nil {
return x.MinRecharge_7DCoins
}
return 0
}
func (x *LuckyGiftRuleStage) GetMinRecharge_30DCoins() int64 {
if x != nil {
return x.MinRecharge_30DCoins
}
return 0
}
type LuckyGiftRuleConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
RuleVersion int64 `protobuf:"varint,3,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
TargetRtpPpm int64 `protobuf:"varint,5,opt,name=target_rtp_ppm,json=targetRtpPpm,proto3" json:"target_rtp_ppm,omitempty"`
PoolRatePpm int64 `protobuf:"varint,6,opt,name=pool_rate_ppm,json=poolRatePpm,proto3" json:"pool_rate_ppm,omitempty"`
SettlementWindowWager int64 `protobuf:"varint,7,opt,name=settlement_window_wager,json=settlementWindowWager,proto3" json:"settlement_window_wager,omitempty"`
ControlBandPpm int64 `protobuf:"varint,8,opt,name=control_band_ppm,json=controlBandPpm,proto3" json:"control_band_ppm,omitempty"`
GiftPriceReference int64 `protobuf:"varint,9,opt,name=gift_price_reference,json=giftPriceReference,proto3" json:"gift_price_reference,omitempty"`
NoviceMaxEquivalentDraws int64 `protobuf:"varint,10,opt,name=novice_max_equivalent_draws,json=noviceMaxEquivalentDraws,proto3" json:"novice_max_equivalent_draws,omitempty"`
NormalMaxEquivalentDraws int64 `protobuf:"varint,11,opt,name=normal_max_equivalent_draws,json=normalMaxEquivalentDraws,proto3" json:"normal_max_equivalent_draws,omitempty"`
EffectiveFromMs int64 `protobuf:"varint,12,opt,name=effective_from_ms,json=effectiveFromMs,proto3" json:"effective_from_ms,omitempty"`
CreatedByAdminId int64 `protobuf:"varint,13,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"`
CreatedAtMs int64 `protobuf:"varint,14,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
Stages []*LuckyGiftRuleStage `protobuf:"bytes,15,rep,name=stages,proto3" json:"stages,omitempty"`
// strategy_version 隔离历史 fixed_v2 与动态算法 dynamic_v3避免新增约束破坏已经发布的旧规则。
StrategyVersion string `protobuf:"bytes,16,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
ProfitRatePpm int64 `protobuf:"varint,17,opt,name=profit_rate_ppm,json=profitRatePpm,proto3" json:"profit_rate_ppm,omitempty"`
AnchorRatePpm int64 `protobuf:"varint,18,opt,name=anchor_rate_ppm,json=anchorRatePpm,proto3" json:"anchor_rate_ppm,omitempty"`
InitialPoolCoins int64 `protobuf:"varint,19,opt,name=initial_pool_coins,json=initialPoolCoins,proto3" json:"initial_pool_coins,omitempty"`
LossStreakGuarantee int64 `protobuf:"varint,20,opt,name=loss_streak_guarantee,json=lossStreakGuarantee,proto3" json:"loss_streak_guarantee,omitempty"`
LowWatermarkCoins int64 `protobuf:"varint,21,opt,name=low_watermark_coins,json=lowWatermarkCoins,proto3" json:"low_watermark_coins,omitempty"`
LowWaterNonzeroFactorPpm int64 `protobuf:"varint,22,opt,name=low_water_nonzero_factor_ppm,json=lowWaterNonzeroFactorPpm,proto3" json:"low_water_nonzero_factor_ppm,omitempty"`
HighWatermarkCoins int64 `protobuf:"varint,23,opt,name=high_watermark_coins,json=highWatermarkCoins,proto3" json:"high_watermark_coins,omitempty"`
HighWaterNonzeroFactorPpm int64 `protobuf:"varint,24,opt,name=high_water_nonzero_factor_ppm,json=highWaterNonzeroFactorPpm,proto3" json:"high_water_nonzero_factor_ppm,omitempty"`
RechargeBoostWindowMs int64 `protobuf:"varint,25,opt,name=recharge_boost_window_ms,json=rechargeBoostWindowMs,proto3" json:"recharge_boost_window_ms,omitempty"`
RechargeBoostFactorPpm int64 `protobuf:"varint,26,opt,name=recharge_boost_factor_ppm,json=rechargeBoostFactorPpm,proto3" json:"recharge_boost_factor_ppm,omitempty"`
JackpotMultiplierPpms []int64 `protobuf:"varint,27,rep,packed,name=jackpot_multiplier_ppms,json=jackpotMultiplierPpms,proto3" json:"jackpot_multiplier_ppms,omitempty"`
JackpotGlobalRtpMaxPpm int64 `protobuf:"varint,28,opt,name=jackpot_global_rtp_max_ppm,json=jackpotGlobalRtpMaxPpm,proto3" json:"jackpot_global_rtp_max_ppm,omitempty"`
JackpotUserRoundRtpMaxPpm int64 `protobuf:"varint,29,opt,name=jackpot_user_round_rtp_max_ppm,json=jackpotUserRoundRtpMaxPpm,proto3" json:"jackpot_user_round_rtp_max_ppm,omitempty"`
JackpotUser_48HRtpMaxPpm int64 `protobuf:"varint,30,opt,name=jackpot_user_48h_rtp_max_ppm,json=jackpotUser48hRtpMaxPpm,proto3" json:"jackpot_user_48h_rtp_max_ppm,omitempty"`
// 用户在同一应用、奖池和 UTC 自然日每累计消费满该金币数,生成一次可跨日保留的消费大奖资格。
JackpotSpendThresholdCoins int64 `protobuf:"varint,31,opt,name=jackpot_spend_threshold_coins,json=jackpotSpendThresholdCoins,proto3" json:"jackpot_spend_threshold_coins,omitempty"`
MaxJackpotHitsPerUserDay int64 `protobuf:"varint,32,opt,name=max_jackpot_hits_per_user_day,json=maxJackpotHitsPerUserDay,proto3" json:"max_jackpot_hits_per_user_day,omitempty"`
MaxSinglePayout int64 `protobuf:"varint,33,opt,name=max_single_payout,json=maxSinglePayout,proto3" json:"max_single_payout,omitempty"`
UserHourlyPayoutCap int64 `protobuf:"varint,34,opt,name=user_hourly_payout_cap,json=userHourlyPayoutCap,proto3" json:"user_hourly_payout_cap,omitempty"`
UserDailyPayoutCap int64 `protobuf:"varint,35,opt,name=user_daily_payout_cap,json=userDailyPayoutCap,proto3" json:"user_daily_payout_cap,omitempty"`
DeviceDailyPayoutCap int64 `protobuf:"varint,36,opt,name=device_daily_payout_cap,json=deviceDailyPayoutCap,proto3" json:"device_daily_payout_cap,omitempty"`
RoomHourlyPayoutCap int64 `protobuf:"varint,37,opt,name=room_hourly_payout_cap,json=roomHourlyPayoutCap,proto3" json:"room_hourly_payout_cap,omitempty"`
AnchorDailyPayoutCap int64 `protobuf:"varint,38,opt,name=anchor_daily_payout_cap,json=anchorDailyPayoutCap,proto3" json:"anchor_daily_payout_cap,omitempty"`
// 用户严格滚动 24 小时 RTP 超过此值时普通非零奖档按下方因子降权0 表示关闭该策略。
User_24HRtpThresholdPpm int64 `protobuf:"varint,39,opt,name=user_24h_rtp_threshold_ppm,json=user24hRtpThresholdPpm,proto3" json:"user_24h_rtp_threshold_ppm,omitempty"`
// 触发用户 24 小时 RTP 降权后保留的普通中奖权重1000000 表示保持原概率。
User_24HOrdinaryWinFactorPpm int64 `protobuf:"varint,40,opt,name=user_24h_ordinary_win_factor_ppm,json=user24hOrdinaryWinFactorPpm,proto3" json:"user_24h_ordinary_win_factor_ppm,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftRuleConfig) Reset() {
*x = LuckyGiftRuleConfig{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftRuleConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftRuleConfig) ProtoMessage() {}
func (x *LuckyGiftRuleConfig) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftRuleConfig.ProtoReflect.Descriptor instead.
func (*LuckyGiftRuleConfig) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{4}
}
func (x *LuckyGiftRuleConfig) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftRuleConfig) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftRuleConfig) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftRuleConfig) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *LuckyGiftRuleConfig) GetTargetRtpPpm() int64 {
if x != nil {
return x.TargetRtpPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetPoolRatePpm() int64 {
if x != nil {
return x.PoolRatePpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetSettlementWindowWager() int64 {
if x != nil {
return x.SettlementWindowWager
}
return 0
}
func (x *LuckyGiftRuleConfig) GetControlBandPpm() int64 {
if x != nil {
return x.ControlBandPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetGiftPriceReference() int64 {
if x != nil {
return x.GiftPriceReference
}
return 0
}
func (x *LuckyGiftRuleConfig) GetNoviceMaxEquivalentDraws() int64 {
if x != nil {
return x.NoviceMaxEquivalentDraws
}
return 0
}
func (x *LuckyGiftRuleConfig) GetNormalMaxEquivalentDraws() int64 {
if x != nil {
return x.NormalMaxEquivalentDraws
}
return 0
}
func (x *LuckyGiftRuleConfig) GetEffectiveFromMs() int64 {
if x != nil {
return x.EffectiveFromMs
}
return 0
}
func (x *LuckyGiftRuleConfig) GetCreatedByAdminId() int64 {
if x != nil {
return x.CreatedByAdminId
}
return 0
}
func (x *LuckyGiftRuleConfig) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *LuckyGiftRuleConfig) GetStages() []*LuckyGiftRuleStage {
if x != nil {
return x.Stages
}
return nil
}
func (x *LuckyGiftRuleConfig) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftRuleConfig) GetProfitRatePpm() int64 {
if x != nil {
return x.ProfitRatePpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetAnchorRatePpm() int64 {
if x != nil {
return x.AnchorRatePpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetInitialPoolCoins() int64 {
if x != nil {
return x.InitialPoolCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetLossStreakGuarantee() int64 {
if x != nil {
return x.LossStreakGuarantee
}
return 0
}
func (x *LuckyGiftRuleConfig) GetLowWatermarkCoins() int64 {
if x != nil {
return x.LowWatermarkCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetLowWaterNonzeroFactorPpm() int64 {
if x != nil {
return x.LowWaterNonzeroFactorPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetHighWatermarkCoins() int64 {
if x != nil {
return x.HighWatermarkCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetHighWaterNonzeroFactorPpm() int64 {
if x != nil {
return x.HighWaterNonzeroFactorPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetRechargeBoostWindowMs() int64 {
if x != nil {
return x.RechargeBoostWindowMs
}
return 0
}
func (x *LuckyGiftRuleConfig) GetRechargeBoostFactorPpm() int64 {
if x != nil {
return x.RechargeBoostFactorPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotMultiplierPpms() []int64 {
if x != nil {
return x.JackpotMultiplierPpms
}
return nil
}
func (x *LuckyGiftRuleConfig) GetJackpotGlobalRtpMaxPpm() int64 {
if x != nil {
return x.JackpotGlobalRtpMaxPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotUserRoundRtpMaxPpm() int64 {
if x != nil {
return x.JackpotUserRoundRtpMaxPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotUser_48HRtpMaxPpm() int64 {
if x != nil {
return x.JackpotUser_48HRtpMaxPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetJackpotSpendThresholdCoins() int64 {
if x != nil {
return x.JackpotSpendThresholdCoins
}
return 0
}
func (x *LuckyGiftRuleConfig) GetMaxJackpotHitsPerUserDay() int64 {
if x != nil {
return x.MaxJackpotHitsPerUserDay
}
return 0
}
func (x *LuckyGiftRuleConfig) GetMaxSinglePayout() int64 {
if x != nil {
return x.MaxSinglePayout
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUserHourlyPayoutCap() int64 {
if x != nil {
return x.UserHourlyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUserDailyPayoutCap() int64 {
if x != nil {
return x.UserDailyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetDeviceDailyPayoutCap() int64 {
if x != nil {
return x.DeviceDailyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetRoomHourlyPayoutCap() int64 {
if x != nil {
return x.RoomHourlyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetAnchorDailyPayoutCap() int64 {
if x != nil {
return x.AnchorDailyPayoutCap
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUser_24HRtpThresholdPpm() int64 {
if x != nil {
return x.User_24HRtpThresholdPpm
}
return 0
}
func (x *LuckyGiftRuleConfig) GetUser_24HOrdinaryWinFactorPpm() int64 {
if x != nil {
return x.User_24HOrdinaryWinFactorPpm
}
return 0
}
type CheckLuckyGiftRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
GiftId string `protobuf:"bytes,4,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
PoolId string `protobuf:"bytes,5,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckLuckyGiftRequest) Reset() {
*x = CheckLuckyGiftRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckLuckyGiftRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckLuckyGiftRequest) ProtoMessage() {}
func (x *CheckLuckyGiftRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckLuckyGiftRequest.ProtoReflect.Descriptor instead.
func (*CheckLuckyGiftRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{5}
}
func (x *CheckLuckyGiftRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CheckLuckyGiftRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *CheckLuckyGiftRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *CheckLuckyGiftRequest) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *CheckLuckyGiftRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
type CheckLuckyGiftResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
GiftId string `protobuf:"bytes,3,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
GiftPrice int64 `protobuf:"varint,4,opt,name=gift_price,json=giftPrice,proto3" json:"gift_price,omitempty"`
RuleVersion int64 `protobuf:"varint,5,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
TargetRtpPpm int64 `protobuf:"varint,6,opt,name=target_rtp_ppm,json=targetRtpPpm,proto3" json:"target_rtp_ppm,omitempty"`
ExperiencePool string `protobuf:"bytes,7,opt,name=experience_pool,json=experiencePool,proto3" json:"experience_pool,omitempty"`
PoolId string `protobuf:"bytes,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
// strategy_version 由 lucky-gift owner 返回并由 room saga 固化,用于滚动发布时区分 fixed_v2 兼容与 dynamic_v3 强校验。
StrategyVersion string `protobuf:"bytes,9,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckLuckyGiftResponse) Reset() {
*x = CheckLuckyGiftResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckLuckyGiftResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckLuckyGiftResponse) ProtoMessage() {}
func (x *CheckLuckyGiftResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckLuckyGiftResponse.ProtoReflect.Descriptor instead.
func (*CheckLuckyGiftResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{6}
}
func (x *CheckLuckyGiftResponse) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *CheckLuckyGiftResponse) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *CheckLuckyGiftResponse) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *CheckLuckyGiftResponse) GetGiftPrice() int64 {
if x != nil {
return x.GiftPrice
}
return 0
}
func (x *CheckLuckyGiftResponse) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *CheckLuckyGiftResponse) GetTargetRtpPpm() int64 {
if x != nil {
return x.TargetRtpPpm
}
return 0
}
func (x *CheckLuckyGiftResponse) GetExperiencePool() string {
if x != nil {
return x.ExperiencePool
}
return ""
}
func (x *CheckLuckyGiftResponse) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *CheckLuckyGiftResponse) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
type LuckyGiftDrawResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
DrawId string `protobuf:"bytes,1,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"`
CommandId string `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
GiftId string `protobuf:"bytes,3,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
RuleVersion int64 `protobuf:"varint,4,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
ExperiencePool string `protobuf:"bytes,5,opt,name=experience_pool,json=experiencePool,proto3" json:"experience_pool,omitempty"`
SelectedTierId string `protobuf:"bytes,6,opt,name=selected_tier_id,json=selectedTierId,proto3" json:"selected_tier_id,omitempty"`
BaseRewardCoins int64 `protobuf:"varint,7,opt,name=base_reward_coins,json=baseRewardCoins,proto3" json:"base_reward_coins,omitempty"`
EffectiveRewardCoins int64 `protobuf:"varint,8,opt,name=effective_reward_coins,json=effectiveRewardCoins,proto3" json:"effective_reward_coins,omitempty"`
RewardStatus string `protobuf:"bytes,9,opt,name=reward_status,json=rewardStatus,proto3" json:"reward_status,omitempty"`
RtpWindowIndex int64 `protobuf:"varint,10,opt,name=rtp_window_index,json=rtpWindowIndex,proto3" json:"rtp_window_index,omitempty"`
GiftRtpWindowIndex int64 `protobuf:"varint,11,opt,name=gift_rtp_window_index,json=giftRtpWindowIndex,proto3" json:"gift_rtp_window_index,omitempty"`
GlobalBaseRtpPpm int64 `protobuf:"varint,12,opt,name=global_base_rtp_ppm,json=globalBaseRtpPpm,proto3" json:"global_base_rtp_ppm,omitempty"`
GiftBaseRtpPpm int64 `protobuf:"varint,13,opt,name=gift_base_rtp_ppm,json=giftBaseRtpPpm,proto3" json:"gift_base_rtp_ppm,omitempty"`
StageFeedback bool `protobuf:"varint,14,opt,name=stage_feedback,json=stageFeedback,proto3" json:"stage_feedback,omitempty"`
HighMultiplier bool `protobuf:"varint,15,opt,name=high_multiplier,json=highMultiplier,proto3" json:"high_multiplier,omitempty"`
CreatedAtMs int64 `protobuf:"varint,16,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
PoolId string `protobuf:"bytes,17,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
MultiplierPpm int64 `protobuf:"varint,18,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
WalletTransactionId string `protobuf:"bytes,19,opt,name=wallet_transaction_id,json=walletTransactionId,proto3" json:"wallet_transaction_id,omitempty"`
CoinBalanceAfter int64 `protobuf:"varint,20,opt,name=coin_balance_after,json=coinBalanceAfter,proto3" json:"coin_balance_after,omitempty"`
UserId int64 `protobuf:"varint,21,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
ExternalUserId string `protobuf:"bytes,22,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
AppCode string `protobuf:"bytes,23,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
Hits []*LuckyGiftHit `protobuf:"bytes,24,rep,name=hits,proto3" json:"hits,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftDrawResult) Reset() {
*x = LuckyGiftDrawResult{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftDrawResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftDrawResult) ProtoMessage() {}
func (x *LuckyGiftDrawResult) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftDrawResult.ProtoReflect.Descriptor instead.
func (*LuckyGiftDrawResult) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{7}
}
func (x *LuckyGiftDrawResult) GetDrawId() string {
if x != nil {
return x.DrawId
}
return ""
}
func (x *LuckyGiftDrawResult) GetCommandId() string {
if x != nil {
return x.CommandId
}
return ""
}
func (x *LuckyGiftDrawResult) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *LuckyGiftDrawResult) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftDrawResult) GetExperiencePool() string {
if x != nil {
return x.ExperiencePool
}
return ""
}
func (x *LuckyGiftDrawResult) GetSelectedTierId() string {
if x != nil {
return x.SelectedTierId
}
return ""
}
func (x *LuckyGiftDrawResult) GetBaseRewardCoins() int64 {
if x != nil {
return x.BaseRewardCoins
}
return 0
}
func (x *LuckyGiftDrawResult) GetEffectiveRewardCoins() int64 {
if x != nil {
return x.EffectiveRewardCoins
}
return 0
}
func (x *LuckyGiftDrawResult) GetRewardStatus() string {
if x != nil {
return x.RewardStatus
}
return ""
}
func (x *LuckyGiftDrawResult) GetRtpWindowIndex() int64 {
if x != nil {
return x.RtpWindowIndex
}
return 0
}
func (x *LuckyGiftDrawResult) GetGiftRtpWindowIndex() int64 {
if x != nil {
return x.GiftRtpWindowIndex
}
return 0
}
func (x *LuckyGiftDrawResult) GetGlobalBaseRtpPpm() int64 {
if x != nil {
return x.GlobalBaseRtpPpm
}
return 0
}
func (x *LuckyGiftDrawResult) GetGiftBaseRtpPpm() int64 {
if x != nil {
return x.GiftBaseRtpPpm
}
return 0
}
func (x *LuckyGiftDrawResult) GetStageFeedback() bool {
if x != nil {
return x.StageFeedback
}
return false
}
func (x *LuckyGiftDrawResult) GetHighMultiplier() bool {
if x != nil {
return x.HighMultiplier
}
return false
}
func (x *LuckyGiftDrawResult) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *LuckyGiftDrawResult) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftDrawResult) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *LuckyGiftDrawResult) GetWalletTransactionId() string {
if x != nil {
return x.WalletTransactionId
}
return ""
}
func (x *LuckyGiftDrawResult) GetCoinBalanceAfter() int64 {
if x != nil {
return x.CoinBalanceAfter
}
return 0
}
func (x *LuckyGiftDrawResult) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *LuckyGiftDrawResult) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *LuckyGiftDrawResult) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftDrawResult) GetHits() []*LuckyGiftHit {
if x != nil {
return x.Hits
}
return nil
}
type ExecuteLuckyGiftDrawRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
LuckyGift *LuckyGiftMeta `protobuf:"bytes,1,opt,name=lucky_gift,json=luckyGift,proto3" json:"lucky_gift,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExecuteLuckyGiftDrawRequest) Reset() {
*x = ExecuteLuckyGiftDrawRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExecuteLuckyGiftDrawRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteLuckyGiftDrawRequest) ProtoMessage() {}
func (x *ExecuteLuckyGiftDrawRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteLuckyGiftDrawRequest.ProtoReflect.Descriptor instead.
func (*ExecuteLuckyGiftDrawRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{8}
}
func (x *ExecuteLuckyGiftDrawRequest) GetLuckyGift() *LuckyGiftMeta {
if x != nil {
return x.LuckyGift
}
return nil
}
type ExecuteLuckyGiftDrawResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Result *LuckyGiftDrawResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExecuteLuckyGiftDrawResponse) Reset() {
*x = ExecuteLuckyGiftDrawResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExecuteLuckyGiftDrawResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteLuckyGiftDrawResponse) ProtoMessage() {}
func (x *ExecuteLuckyGiftDrawResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteLuckyGiftDrawResponse.ProtoReflect.Descriptor instead.
func (*ExecuteLuckyGiftDrawResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{9}
}
func (x *ExecuteLuckyGiftDrawResponse) GetResult() *LuckyGiftDrawResult {
if x != nil {
return x.Result
}
return nil
}
type BatchExecuteLuckyGiftDrawRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
LuckyGifts []*LuckyGiftMeta `protobuf:"bytes,1,rep,name=lucky_gifts,json=luckyGifts,proto3" json:"lucky_gifts,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BatchExecuteLuckyGiftDrawRequest) Reset() {
*x = BatchExecuteLuckyGiftDrawRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BatchExecuteLuckyGiftDrawRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchExecuteLuckyGiftDrawRequest) ProtoMessage() {}
func (x *BatchExecuteLuckyGiftDrawRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BatchExecuteLuckyGiftDrawRequest.ProtoReflect.Descriptor instead.
func (*BatchExecuteLuckyGiftDrawRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{10}
}
func (x *BatchExecuteLuckyGiftDrawRequest) GetLuckyGifts() []*LuckyGiftMeta {
if x != nil {
return x.LuckyGifts
}
return nil
}
type BatchExecuteLuckyGiftDrawResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Results []*LuckyGiftDrawResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BatchExecuteLuckyGiftDrawResponse) Reset() {
*x = BatchExecuteLuckyGiftDrawResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BatchExecuteLuckyGiftDrawResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchExecuteLuckyGiftDrawResponse) ProtoMessage() {}
func (x *BatchExecuteLuckyGiftDrawResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BatchExecuteLuckyGiftDrawResponse.ProtoReflect.Descriptor instead.
func (*BatchExecuteLuckyGiftDrawResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{11}
}
func (x *BatchExecuteLuckyGiftDrawResponse) GetResults() []*LuckyGiftDrawResult {
if x != nil {
return x.Results
}
return nil
}
// ExternalGiftDrawRequest 是外部 App 接入的抽奖输入。
// App 调用前必须已经完成自己的扣费lucky-gift-service 只校验金额事实并返回中奖结果。
type ExternalGiftDrawRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
AppCode string `protobuf:"bytes,3,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
ExternalUserId string `protobuf:"bytes,4,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
GiftCount int64 `protobuf:"varint,6,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
UnitAmount int64 `protobuf:"varint,7,opt,name=unit_amount,json=unitAmount,proto3" json:"unit_amount,omitempty"`
TotalAmount int64 `protobuf:"varint,8,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"`
Currency string `protobuf:"bytes,9,opt,name=currency,proto3" json:"currency,omitempty"`
PaidAtMs int64 `protobuf:"varint,10,opt,name=paid_at_ms,json=paidAtMs,proto3" json:"paid_at_ms,omitempty"`
MetadataJson string `protobuf:"bytes,11,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
PoolId string `protobuf:"bytes,12,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
// dynamic_v3 必填的稳定设备作用域。luck-gateway 不独立证明其真实性,调用方必须在自己的认证/签名边界内绑定该值fixed_v2 允许缺失。
DeviceId string `protobuf:"bytes,13,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
// user_registered_at_ms 由外部 App 按自己的用户主数据提供dynamic_v3 缺失或晚于支付时间时补偿大奖资格 fail-close。
UserRegisteredAtMs int64 `protobuf:"varint,14,opt,name=user_registered_at_ms,json=userRegisteredAtMs,proto3" json:"user_registered_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGiftDrawRequest) Reset() {
*x = ExternalGiftDrawRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGiftDrawRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGiftDrawRequest) ProtoMessage() {}
func (x *ExternalGiftDrawRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGiftDrawRequest.ProtoReflect.Descriptor instead.
func (*ExternalGiftDrawRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{12}
}
func (x *ExternalGiftDrawRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ExternalGiftDrawRequest) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *ExternalGiftDrawRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetGiftCount() int64 {
if x != nil {
return x.GiftCount
}
return 0
}
func (x *ExternalGiftDrawRequest) GetUnitAmount() int64 {
if x != nil {
return x.UnitAmount
}
return 0
}
func (x *ExternalGiftDrawRequest) GetTotalAmount() int64 {
if x != nil {
return x.TotalAmount
}
return 0
}
func (x *ExternalGiftDrawRequest) GetCurrency() string {
if x != nil {
return x.Currency
}
return ""
}
func (x *ExternalGiftDrawRequest) GetPaidAtMs() int64 {
if x != nil {
return x.PaidAtMs
}
return 0
}
func (x *ExternalGiftDrawRequest) GetMetadataJson() string {
if x != nil {
return x.MetadataJson
}
return ""
}
func (x *ExternalGiftDrawRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *ExternalGiftDrawRequest) GetUserRegisteredAtMs() int64 {
if x != nil {
return x.UserRegisteredAtMs
}
return 0
}
type ExternalGiftDrawResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
DrawId string `protobuf:"bytes,1,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"`
RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
AppCode string `protobuf:"bytes,4,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
ExternalUserId string `protobuf:"bytes,5,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
GiftCount int64 `protobuf:"varint,6,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
UnitAmount int64 `protobuf:"varint,7,opt,name=unit_amount,json=unitAmount,proto3" json:"unit_amount,omitempty"`
TotalAmount int64 `protobuf:"varint,8,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"`
RewardAmount int64 `protobuf:"varint,9,opt,name=reward_amount,json=rewardAmount,proto3" json:"reward_amount,omitempty"`
MultiplierPpm int64 `protobuf:"varint,10,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"`
RewardStatus string `protobuf:"bytes,11,opt,name=reward_status,json=rewardStatus,proto3" json:"reward_status,omitempty"`
RuleVersion int64 `protobuf:"varint,12,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
CreatedAtMs int64 `protobuf:"varint,13,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ExternalGiftDrawResponse) Reset() {
*x = ExternalGiftDrawResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExternalGiftDrawResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExternalGiftDrawResponse) ProtoMessage() {}
func (x *ExternalGiftDrawResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExternalGiftDrawResponse.ProtoReflect.Descriptor instead.
func (*ExternalGiftDrawResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{13}
}
func (x *ExternalGiftDrawResponse) GetDrawId() string {
if x != nil {
return x.DrawId
}
return ""
}
func (x *ExternalGiftDrawResponse) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *ExternalGiftDrawResponse) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *ExternalGiftDrawResponse) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ExternalGiftDrawResponse) GetGiftCount() int64 {
if x != nil {
return x.GiftCount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetUnitAmount() int64 {
if x != nil {
return x.UnitAmount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetTotalAmount() int64 {
if x != nil {
return x.TotalAmount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetRewardAmount() int64 {
if x != nil {
return x.RewardAmount
}
return 0
}
func (x *ExternalGiftDrawResponse) GetMultiplierPpm() int64 {
if x != nil {
return x.MultiplierPpm
}
return 0
}
func (x *ExternalGiftDrawResponse) GetRewardStatus() string {
if x != nil {
return x.RewardStatus
}
return ""
}
func (x *ExternalGiftDrawResponse) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *ExternalGiftDrawResponse) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
type GetLuckyGiftConfigRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftConfigRequest) Reset() {
*x = GetLuckyGiftConfigRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftConfigRequest) ProtoMessage() {}
func (x *GetLuckyGiftConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftConfigRequest.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{14}
}
func (x *GetLuckyGiftConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetLuckyGiftConfigRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
type GetLuckyGiftConfigResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Config *LuckyGiftRuleConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftConfigResponse) Reset() {
*x = GetLuckyGiftConfigResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftConfigResponse) ProtoMessage() {}
func (x *GetLuckyGiftConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftConfigResponse.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftConfigResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{15}
}
func (x *GetLuckyGiftConfigResponse) GetConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.Config
}
return nil
}
type UpsertLuckyGiftConfigRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Config *LuckyGiftRuleConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
OperatorAdminId int64 `protobuf:"varint,3,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpsertLuckyGiftConfigRequest) Reset() {
*x = UpsertLuckyGiftConfigRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpsertLuckyGiftConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpsertLuckyGiftConfigRequest) ProtoMessage() {}
func (x *UpsertLuckyGiftConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpsertLuckyGiftConfigRequest.ProtoReflect.Descriptor instead.
func (*UpsertLuckyGiftConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{16}
}
func (x *UpsertLuckyGiftConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpsertLuckyGiftConfigRequest) GetConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *UpsertLuckyGiftConfigRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
type UpsertLuckyGiftConfigResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Config *LuckyGiftRuleConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpsertLuckyGiftConfigResponse) Reset() {
*x = UpsertLuckyGiftConfigResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpsertLuckyGiftConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpsertLuckyGiftConfigResponse) ProtoMessage() {}
func (x *UpsertLuckyGiftConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpsertLuckyGiftConfigResponse.ProtoReflect.Descriptor instead.
func (*UpsertLuckyGiftConfigResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{17}
}
func (x *UpsertLuckyGiftConfigResponse) GetConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.Config
}
return nil
}
type ListLuckyGiftConfigsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftConfigsRequest) Reset() {
*x = ListLuckyGiftConfigsRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftConfigsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftConfigsRequest) ProtoMessage() {}
func (x *ListLuckyGiftConfigsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftConfigsRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftConfigsRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{18}
}
func (x *ListLuckyGiftConfigsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
type ListLuckyGiftConfigsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Configs []*LuckyGiftRuleConfig `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftConfigsResponse) Reset() {
*x = ListLuckyGiftConfigsResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftConfigsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftConfigsResponse) ProtoMessage() {}
func (x *ListLuckyGiftConfigsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftConfigsResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftConfigsResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{19}
}
func (x *ListLuckyGiftConfigsResponse) GetConfigs() []*LuckyGiftRuleConfig {
if x != nil {
return x.Configs
}
return nil
}
type ListLuckyGiftDrawsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GiftId string `protobuf:"bytes,2,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
Page int32 `protobuf:"varint,6,opt,name=page,proto3" json:"page,omitempty"`
PageSize int32 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
PoolId string `protobuf:"bytes,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
ExternalUserId string `protobuf:"bytes,10,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
ExternalOnly bool `protobuf:"varint,11,opt,name=external_only,json=externalOnly,proto3" json:"external_only,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftDrawsRequest) Reset() {
*x = ListLuckyGiftDrawsRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftDrawsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftDrawsRequest) ProtoMessage() {}
func (x *ListLuckyGiftDrawsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftDrawsRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftDrawsRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{20}
}
func (x *ListLuckyGiftDrawsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListLuckyGiftDrawsRequest) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListLuckyGiftDrawsRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListLuckyGiftDrawsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListLuckyGiftDrawsRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *ListLuckyGiftDrawsRequest) GetExternalOnly() bool {
if x != nil {
return x.ExternalOnly
}
return false
}
type ListLuckyGiftDrawsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Draws []*LuckyGiftDrawResult `protobuf:"bytes,1,rep,name=draws,proto3" json:"draws,omitempty"`
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftDrawsResponse) Reset() {
*x = ListLuckyGiftDrawsResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftDrawsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftDrawsResponse) ProtoMessage() {}
func (x *ListLuckyGiftDrawsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftDrawsResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftDrawsResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{21}
}
func (x *ListLuckyGiftDrawsResponse) GetDraws() []*LuckyGiftDrawResult {
if x != nil {
return x.Draws
}
return nil
}
func (x *ListLuckyGiftDrawsResponse) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
type LuckyGiftDrawSummary struct {
state protoimpl.MessageState `protogen:"open.v1"`
PoolId string `protobuf:"bytes,1,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
TotalDraws int64 `protobuf:"varint,2,opt,name=total_draws,json=totalDraws,proto3" json:"total_draws,omitempty"`
UniqueUsers int64 `protobuf:"varint,3,opt,name=unique_users,json=uniqueUsers,proto3" json:"unique_users,omitempty"`
UniqueRooms int64 `protobuf:"varint,4,opt,name=unique_rooms,json=uniqueRooms,proto3" json:"unique_rooms,omitempty"`
TotalSpentCoins int64 `protobuf:"varint,5,opt,name=total_spent_coins,json=totalSpentCoins,proto3" json:"total_spent_coins,omitempty"`
TotalRewardCoins int64 `protobuf:"varint,6,opt,name=total_reward_coins,json=totalRewardCoins,proto3" json:"total_reward_coins,omitempty"`
BaseRewardCoins int64 `protobuf:"varint,7,opt,name=base_reward_coins,json=baseRewardCoins,proto3" json:"base_reward_coins,omitempty"`
ActualRtpPpm int64 `protobuf:"varint,8,opt,name=actual_rtp_ppm,json=actualRtpPpm,proto3" json:"actual_rtp_ppm,omitempty"`
PendingDraws int64 `protobuf:"varint,9,opt,name=pending_draws,json=pendingDraws,proto3" json:"pending_draws,omitempty"`
GrantedDraws int64 `protobuf:"varint,10,opt,name=granted_draws,json=grantedDraws,proto3" json:"granted_draws,omitempty"`
FailedDraws int64 `protobuf:"varint,11,opt,name=failed_draws,json=failedDraws,proto3" json:"failed_draws,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftDrawSummary) Reset() {
*x = LuckyGiftDrawSummary{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftDrawSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftDrawSummary) ProtoMessage() {}
func (x *LuckyGiftDrawSummary) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftDrawSummary.ProtoReflect.Descriptor instead.
func (*LuckyGiftDrawSummary) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{22}
}
func (x *LuckyGiftDrawSummary) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftDrawSummary) GetTotalDraws() int64 {
if x != nil {
return x.TotalDraws
}
return 0
}
func (x *LuckyGiftDrawSummary) GetUniqueUsers() int64 {
if x != nil {
return x.UniqueUsers
}
return 0
}
func (x *LuckyGiftDrawSummary) GetUniqueRooms() int64 {
if x != nil {
return x.UniqueRooms
}
return 0
}
func (x *LuckyGiftDrawSummary) GetTotalSpentCoins() int64 {
if x != nil {
return x.TotalSpentCoins
}
return 0
}
func (x *LuckyGiftDrawSummary) GetTotalRewardCoins() int64 {
if x != nil {
return x.TotalRewardCoins
}
return 0
}
func (x *LuckyGiftDrawSummary) GetBaseRewardCoins() int64 {
if x != nil {
return x.BaseRewardCoins
}
return 0
}
func (x *LuckyGiftDrawSummary) GetActualRtpPpm() int64 {
if x != nil {
return x.ActualRtpPpm
}
return 0
}
func (x *LuckyGiftDrawSummary) GetPendingDraws() int64 {
if x != nil {
return x.PendingDraws
}
return 0
}
func (x *LuckyGiftDrawSummary) GetGrantedDraws() int64 {
if x != nil {
return x.GrantedDraws
}
return 0
}
func (x *LuckyGiftDrawSummary) GetFailedDraws() int64 {
if x != nil {
return x.FailedDraws
}
return 0
}
type LuckyGiftPoolBalance struct {
state protoimpl.MessageState `protogen:"open.v1"`
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
Balance int64 `protobuf:"varint,3,opt,name=balance,proto3" json:"balance,omitempty"`
ReserveFloor int64 `protobuf:"varint,4,opt,name=reserve_floor,json=reserveFloor,proto3" json:"reserve_floor,omitempty"`
AvailableBalance int64 `protobuf:"varint,5,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"`
TotalIn int64 `protobuf:"varint,6,opt,name=total_in,json=totalIn,proto3" json:"total_in,omitempty"`
TotalOut int64 `protobuf:"varint,7,opt,name=total_out,json=totalOut,proto3" json:"total_out,omitempty"`
Materialized bool `protobuf:"varint,8,opt,name=materialized,proto3" json:"materialized,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,9,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
StrategyVersion string `protobuf:"bytes,10,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
ManualCreditTotal int64 `protobuf:"varint,11,opt,name=manual_credit_total,json=manualCreditTotal,proto3" json:"manual_credit_total,omitempty"`
ManualDebitTotal int64 `protobuf:"varint,12,opt,name=manual_debit_total,json=manualDebitTotal,proto3" json:"manual_debit_total,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftPoolBalance) Reset() {
*x = LuckyGiftPoolBalance{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftPoolBalance) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftPoolBalance) ProtoMessage() {}
func (x *LuckyGiftPoolBalance) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LuckyGiftPoolBalance.ProtoReflect.Descriptor instead.
func (*LuckyGiftPoolBalance) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{23}
}
func (x *LuckyGiftPoolBalance) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftPoolBalance) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftPoolBalance) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
func (x *LuckyGiftPoolBalance) GetReserveFloor() int64 {
if x != nil {
return x.ReserveFloor
}
return 0
}
func (x *LuckyGiftPoolBalance) GetAvailableBalance() int64 {
if x != nil {
return x.AvailableBalance
}
return 0
}
func (x *LuckyGiftPoolBalance) GetTotalIn() int64 {
if x != nil {
return x.TotalIn
}
return 0
}
func (x *LuckyGiftPoolBalance) GetTotalOut() int64 {
if x != nil {
return x.TotalOut
}
return 0
}
func (x *LuckyGiftPoolBalance) GetMaterialized() bool {
if x != nil {
return x.Materialized
}
return false
}
func (x *LuckyGiftPoolBalance) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *LuckyGiftPoolBalance) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftPoolBalance) GetManualCreditTotal() int64 {
if x != nil {
return x.ManualCreditTotal
}
return 0
}
func (x *LuckyGiftPoolBalance) GetManualDebitTotal() int64 {
if x != nil {
return x.ManualDebitTotal
}
return 0
}
type GetLuckyGiftDrawSummaryRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GiftId string `protobuf:"bytes,2,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
PoolId string `protobuf:"bytes,6,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
ExternalUserId string `protobuf:"bytes,8,opt,name=external_user_id,json=externalUserId,proto3" json:"external_user_id,omitempty"`
ExternalOnly bool `protobuf:"varint,9,opt,name=external_only,json=externalOnly,proto3" json:"external_only,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftDrawSummaryRequest) Reset() {
*x = GetLuckyGiftDrawSummaryRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftDrawSummaryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftDrawSummaryRequest) ProtoMessage() {}
func (x *GetLuckyGiftDrawSummaryRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftDrawSummaryRequest.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftDrawSummaryRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{24}
}
func (x *GetLuckyGiftDrawSummaryRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetLuckyGiftDrawSummaryRequest) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *GetLuckyGiftDrawSummaryRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetExternalUserId() string {
if x != nil {
return x.ExternalUserId
}
return ""
}
func (x *GetLuckyGiftDrawSummaryRequest) GetExternalOnly() bool {
if x != nil {
return x.ExternalOnly
}
return false
}
type GetLuckyGiftDrawSummaryResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Summary *LuckyGiftDrawSummary `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetLuckyGiftDrawSummaryResponse) Reset() {
*x = GetLuckyGiftDrawSummaryResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetLuckyGiftDrawSummaryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetLuckyGiftDrawSummaryResponse) ProtoMessage() {}
func (x *GetLuckyGiftDrawSummaryResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetLuckyGiftDrawSummaryResponse.ProtoReflect.Descriptor instead.
func (*GetLuckyGiftDrawSummaryResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{25}
}
func (x *GetLuckyGiftDrawSummaryResponse) GetSummary() *LuckyGiftDrawSummary {
if x != nil {
return x.Summary
}
return nil
}
type ListLuckyGiftPoolBalancesRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PoolId string `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
StrategyVersion string `protobuf:"bytes,3,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftPoolBalancesRequest) Reset() {
*x = ListLuckyGiftPoolBalancesRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftPoolBalancesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftPoolBalancesRequest) ProtoMessage() {}
func (x *ListLuckyGiftPoolBalancesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftPoolBalancesRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftPoolBalancesRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{26}
}
func (x *ListLuckyGiftPoolBalancesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListLuckyGiftPoolBalancesRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ListLuckyGiftPoolBalancesRequest) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
type ListLuckyGiftPoolBalancesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Pools []*LuckyGiftPoolBalance `protobuf:"bytes,1,rep,name=pools,proto3" json:"pools,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftPoolBalancesResponse) Reset() {
*x = ListLuckyGiftPoolBalancesResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftPoolBalancesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftPoolBalancesResponse) ProtoMessage() {}
func (x *ListLuckyGiftPoolBalancesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListLuckyGiftPoolBalancesResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftPoolBalancesResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{27}
}
func (x *ListLuckyGiftPoolBalancesResponse) GetPools() []*LuckyGiftPoolBalance {
if x != nil {
return x.Pools
}
return nil
}
// LuckyGiftExperimentOverride 把单个用户强制固定到某个实验组,用于放量前的白名单验证。
// user_key内部用户为十进制 user_id 字符串;外部用户为 "ext:" + external_user_id。
type LuckyGiftExperimentOverride struct {
state protoimpl.MessageState `protogen:"open.v1"`
UserKey string `protobuf:"bytes,1,opt,name=user_key,json=userKey,proto3" json:"user_key,omitempty"`
Arm string `protobuf:"bytes,2,opt,name=arm,proto3" json:"arm,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftExperimentOverride) Reset() {
*x = LuckyGiftExperimentOverride{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftExperimentOverride) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftExperimentOverride) ProtoMessage() {}
func (x *LuckyGiftExperimentOverride) 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 LuckyGiftExperimentOverride.ProtoReflect.Descriptor instead.
func (*LuckyGiftExperimentOverride) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{28}
}
func (x *LuckyGiftExperimentOverride) GetUserKey() string {
if x != nil {
return x.UserKey
}
return ""
}
func (x *LuckyGiftExperimentOverride) GetArm() string {
if x != nil {
return x.Arm
}
return ""
}
// LuckyGiftExperimentArmStats 是实验开始以来单组的抽奖聚合,由 lucky_draw_records 按 rule_version 现算,非物化口径。
type LuckyGiftExperimentArmStats struct {
state protoimpl.MessageState `protogen:"open.v1"`
Arm string `protobuf:"bytes,1,opt,name=arm,proto3" json:"arm,omitempty"`
RuleVersion int64 `protobuf:"varint,2,opt,name=rule_version,json=ruleVersion,proto3" json:"rule_version,omitempty"`
StrategyVersion string `protobuf:"bytes,3,opt,name=strategy_version,json=strategyVersion,proto3" json:"strategy_version,omitempty"`
TotalDraws int64 `protobuf:"varint,4,opt,name=total_draws,json=totalDraws,proto3" json:"total_draws,omitempty"`
UniqueUsers int64 `protobuf:"varint,5,opt,name=unique_users,json=uniqueUsers,proto3" json:"unique_users,omitempty"`
TotalSpentCoins int64 `protobuf:"varint,6,opt,name=total_spent_coins,json=totalSpentCoins,proto3" json:"total_spent_coins,omitempty"`
TotalRewardCoins int64 `protobuf:"varint,7,opt,name=total_reward_coins,json=totalRewardCoins,proto3" json:"total_reward_coins,omitempty"`
ActualRtpPpm int64 `protobuf:"varint,8,opt,name=actual_rtp_ppm,json=actualRtpPpm,proto3" json:"actual_rtp_ppm,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftExperimentArmStats) Reset() {
*x = LuckyGiftExperimentArmStats{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftExperimentArmStats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftExperimentArmStats) ProtoMessage() {}
func (x *LuckyGiftExperimentArmStats) 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 LuckyGiftExperimentArmStats.ProtoReflect.Descriptor instead.
func (*LuckyGiftExperimentArmStats) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{29}
}
func (x *LuckyGiftExperimentArmStats) GetArm() string {
if x != nil {
return x.Arm
}
return ""
}
func (x *LuckyGiftExperimentArmStats) GetRuleVersion() int64 {
if x != nil {
return x.RuleVersion
}
return 0
}
func (x *LuckyGiftExperimentArmStats) GetStrategyVersion() string {
if x != nil {
return x.StrategyVersion
}
return ""
}
func (x *LuckyGiftExperimentArmStats) GetTotalDraws() int64 {
if x != nil {
return x.TotalDraws
}
return 0
}
func (x *LuckyGiftExperimentArmStats) GetUniqueUsers() int64 {
if x != nil {
return x.UniqueUsers
}
return 0
}
func (x *LuckyGiftExperimentArmStats) GetTotalSpentCoins() int64 {
if x != nil {
return x.TotalSpentCoins
}
return 0
}
func (x *LuckyGiftExperimentArmStats) GetTotalRewardCoins() int64 {
if x != nil {
return x.TotalRewardCoins
}
return 0
}
func (x *LuckyGiftExperimentArmStats) GetActualRtpPpm() int64 {
if x != nil {
return x.ActualRtpPpm
}
return 0
}
// LuckyGiftExperiment 是单奖池 AB 实验事实:两组各钉住一个不可变 rule_version
// 运行时按 bucket_salt+user 哈希分流;同一奖池同时最多一个未完成实验。
type LuckyGiftExperiment 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"`
ExperimentId string `protobuf:"bytes,3,opt,name=experiment_id,json=experimentId,proto3" json:"experiment_id,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
ControlRuleVersion int64 `protobuf:"varint,5,opt,name=control_rule_version,json=controlRuleVersion,proto3" json:"control_rule_version,omitempty"`
TreatmentRuleVersion int64 `protobuf:"varint,6,opt,name=treatment_rule_version,json=treatmentRuleVersion,proto3" json:"treatment_rule_version,omitempty"`
// treatment 组流量比例ppm0..10000000 表示只有白名单 override 能进入 treatment。
TreatmentTrafficPpm int64 `protobuf:"varint,7,opt,name=treatment_traffic_ppm,json=treatmentTrafficPpm,proto3" json:"treatment_traffic_ppm,omitempty"`
BucketSalt string `protobuf:"bytes,8,opt,name=bucket_salt,json=bucketSalt,proto3" json:"bucket_salt,omitempty"`
// running / paused / completedpaused 时全部流量(含白名单)回落 control。
Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
WinnerArm string `protobuf:"bytes,10,opt,name=winner_arm,json=winnerArm,proto3" json:"winner_arm,omitempty"`
WinnerRuleVersion int64 `protobuf:"varint,11,opt,name=winner_rule_version,json=winnerRuleVersion,proto3" json:"winner_rule_version,omitempty"`
// 结束实验时把获胜配置重发布成的新最新版本,全量流量由它承接。
FinalRuleVersion int64 `protobuf:"varint,12,opt,name=final_rule_version,json=finalRuleVersion,proto3" json:"final_rule_version,omitempty"`
CreatedByAdminId int64 `protobuf:"varint,13,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"`
StartedAtMs int64 `protobuf:"varint,14,opt,name=started_at_ms,json=startedAtMs,proto3" json:"started_at_ms,omitempty"`
EndedAtMs int64 `protobuf:"varint,15,opt,name=ended_at_ms,json=endedAtMs,proto3" json:"ended_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,16,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
Overrides []*LuckyGiftExperimentOverride `protobuf:"bytes,17,rep,name=overrides,proto3" json:"overrides,omitempty"`
ArmStats []*LuckyGiftExperimentArmStats `protobuf:"bytes,18,rep,name=arm_stats,json=armStats,proto3" json:"arm_stats,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LuckyGiftExperiment) Reset() {
*x = LuckyGiftExperiment{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LuckyGiftExperiment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LuckyGiftExperiment) ProtoMessage() {}
func (x *LuckyGiftExperiment) 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 LuckyGiftExperiment.ProtoReflect.Descriptor instead.
func (*LuckyGiftExperiment) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{30}
}
func (x *LuckyGiftExperiment) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *LuckyGiftExperiment) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *LuckyGiftExperiment) GetExperimentId() string {
if x != nil {
return x.ExperimentId
}
return ""
}
func (x *LuckyGiftExperiment) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *LuckyGiftExperiment) GetControlRuleVersion() int64 {
if x != nil {
return x.ControlRuleVersion
}
return 0
}
func (x *LuckyGiftExperiment) GetTreatmentRuleVersion() int64 {
if x != nil {
return x.TreatmentRuleVersion
}
return 0
}
func (x *LuckyGiftExperiment) GetTreatmentTrafficPpm() int64 {
if x != nil {
return x.TreatmentTrafficPpm
}
return 0
}
func (x *LuckyGiftExperiment) GetBucketSalt() string {
if x != nil {
return x.BucketSalt
}
return ""
}
func (x *LuckyGiftExperiment) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *LuckyGiftExperiment) GetWinnerArm() string {
if x != nil {
return x.WinnerArm
}
return ""
}
func (x *LuckyGiftExperiment) GetWinnerRuleVersion() int64 {
if x != nil {
return x.WinnerRuleVersion
}
return 0
}
func (x *LuckyGiftExperiment) GetFinalRuleVersion() int64 {
if x != nil {
return x.FinalRuleVersion
}
return 0
}
func (x *LuckyGiftExperiment) GetCreatedByAdminId() int64 {
if x != nil {
return x.CreatedByAdminId
}
return 0
}
func (x *LuckyGiftExperiment) GetStartedAtMs() int64 {
if x != nil {
return x.StartedAtMs
}
return 0
}
func (x *LuckyGiftExperiment) GetEndedAtMs() int64 {
if x != nil {
return x.EndedAtMs
}
return 0
}
func (x *LuckyGiftExperiment) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *LuckyGiftExperiment) GetOverrides() []*LuckyGiftExperimentOverride {
if x != nil {
return x.Overrides
}
return nil
}
func (x *LuckyGiftExperiment) GetArmStats() []*LuckyGiftExperimentArmStats {
if x != nil {
return x.ArmStats
}
return nil
}
// CreateLuckyGiftExperimentRequest 在一个事务里发布 treatment 新版本并登记实验,
// 避免"先发布后建实验"窗口期内新版本被最新版本语义全量放开。
// control 组自动钉住当前最新已启用版本。
type CreateLuckyGiftExperimentRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
TreatmentConfig *LuckyGiftRuleConfig `protobuf:"bytes,3,opt,name=treatment_config,json=treatmentConfig,proto3" json:"treatment_config,omitempty"`
TreatmentTrafficPpm int64 `protobuf:"varint,4,opt,name=treatment_traffic_ppm,json=treatmentTrafficPpm,proto3" json:"treatment_traffic_ppm,omitempty"`
OperatorAdminId int64 `protobuf:"varint,5,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
Overrides []*LuckyGiftExperimentOverride `protobuf:"bytes,6,rep,name=overrides,proto3" json:"overrides,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CreateLuckyGiftExperimentRequest) Reset() {
*x = CreateLuckyGiftExperimentRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateLuckyGiftExperimentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateLuckyGiftExperimentRequest) ProtoMessage() {}
func (x *CreateLuckyGiftExperimentRequest) 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 CreateLuckyGiftExperimentRequest.ProtoReflect.Descriptor instead.
func (*CreateLuckyGiftExperimentRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{31}
}
func (x *CreateLuckyGiftExperimentRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CreateLuckyGiftExperimentRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateLuckyGiftExperimentRequest) GetTreatmentConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.TreatmentConfig
}
return nil
}
func (x *CreateLuckyGiftExperimentRequest) GetTreatmentTrafficPpm() int64 {
if x != nil {
return x.TreatmentTrafficPpm
}
return 0
}
func (x *CreateLuckyGiftExperimentRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
func (x *CreateLuckyGiftExperimentRequest) GetOverrides() []*LuckyGiftExperimentOverride {
if x != nil {
return x.Overrides
}
return nil
}
type CreateLuckyGiftExperimentResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Experiment *LuckyGiftExperiment `protobuf:"bytes,1,opt,name=experiment,proto3" json:"experiment,omitempty"`
TreatmentConfig *LuckyGiftRuleConfig `protobuf:"bytes,2,opt,name=treatment_config,json=treatmentConfig,proto3" json:"treatment_config,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CreateLuckyGiftExperimentResponse) Reset() {
*x = CreateLuckyGiftExperimentResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateLuckyGiftExperimentResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateLuckyGiftExperimentResponse) ProtoMessage() {}
func (x *CreateLuckyGiftExperimentResponse) 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 CreateLuckyGiftExperimentResponse.ProtoReflect.Descriptor instead.
func (*CreateLuckyGiftExperimentResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{32}
}
func (x *CreateLuckyGiftExperimentResponse) GetExperiment() *LuckyGiftExperiment {
if x != nil {
return x.Experiment
}
return nil
}
func (x *CreateLuckyGiftExperimentResponse) GetTreatmentConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.TreatmentConfig
}
return nil
}
type ListLuckyGiftExperimentsRequest 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"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
WithStats bool `protobuf:"varint,4,opt,name=with_stats,json=withStats,proto3" json:"with_stats,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftExperimentsRequest) Reset() {
*x = ListLuckyGiftExperimentsRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftExperimentsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftExperimentsRequest) ProtoMessage() {}
func (x *ListLuckyGiftExperimentsRequest) 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 ListLuckyGiftExperimentsRequest.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftExperimentsRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{33}
}
func (x *ListLuckyGiftExperimentsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListLuckyGiftExperimentsRequest) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *ListLuckyGiftExperimentsRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListLuckyGiftExperimentsRequest) GetWithStats() bool {
if x != nil {
return x.WithStats
}
return false
}
type ListLuckyGiftExperimentsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Experiments []*LuckyGiftExperiment `protobuf:"bytes,1,rep,name=experiments,proto3" json:"experiments,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListLuckyGiftExperimentsResponse) Reset() {
*x = ListLuckyGiftExperimentsResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListLuckyGiftExperimentsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListLuckyGiftExperimentsResponse) ProtoMessage() {}
func (x *ListLuckyGiftExperimentsResponse) 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 ListLuckyGiftExperimentsResponse.ProtoReflect.Descriptor instead.
func (*ListLuckyGiftExperimentsResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{34}
}
func (x *ListLuckyGiftExperimentsResponse) GetExperiments() []*LuckyGiftExperiment {
if x != nil {
return x.Experiments
}
return nil
}
// UpdateLuckyGiftExperimentRequest 调整放量或暂停/恢复。
// treatment_traffic_ppm 使用显式存在性语义:未设置表示不修改流量,避免 proto3 缺省 0 被误解释成"放量清零"
// status 为空表示不修改状态。
type UpdateLuckyGiftExperimentRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
ExperimentId string `protobuf:"bytes,2,opt,name=experiment_id,json=experimentId,proto3" json:"experiment_id,omitempty"`
TreatmentTrafficPpm *int64 `protobuf:"varint,3,opt,name=treatment_traffic_ppm,json=treatmentTrafficPpm,proto3,oneof" json:"treatment_traffic_ppm,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
OperatorAdminId int64 `protobuf:"varint,5,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpdateLuckyGiftExperimentRequest) Reset() {
*x = UpdateLuckyGiftExperimentRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateLuckyGiftExperimentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateLuckyGiftExperimentRequest) ProtoMessage() {}
func (x *UpdateLuckyGiftExperimentRequest) 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 UpdateLuckyGiftExperimentRequest.ProtoReflect.Descriptor instead.
func (*UpdateLuckyGiftExperimentRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{35}
}
func (x *UpdateLuckyGiftExperimentRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpdateLuckyGiftExperimentRequest) GetExperimentId() string {
if x != nil {
return x.ExperimentId
}
return ""
}
func (x *UpdateLuckyGiftExperimentRequest) GetTreatmentTrafficPpm() int64 {
if x != nil && x.TreatmentTrafficPpm != nil {
return *x.TreatmentTrafficPpm
}
return 0
}
func (x *UpdateLuckyGiftExperimentRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *UpdateLuckyGiftExperimentRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
type UpdateLuckyGiftExperimentResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Experiment *LuckyGiftExperiment `protobuf:"bytes,1,opt,name=experiment,proto3" json:"experiment,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpdateLuckyGiftExperimentResponse) Reset() {
*x = UpdateLuckyGiftExperimentResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateLuckyGiftExperimentResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateLuckyGiftExperimentResponse) ProtoMessage() {}
func (x *UpdateLuckyGiftExperimentResponse) 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 UpdateLuckyGiftExperimentResponse.ProtoReflect.Descriptor instead.
func (*UpdateLuckyGiftExperimentResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{36}
}
func (x *UpdateLuckyGiftExperimentResponse) GetExperiment() *LuckyGiftExperiment {
if x != nil {
return x.Experiment
}
return nil
}
type SetLuckyGiftExperimentOverridesRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
ExperimentId string `protobuf:"bytes,2,opt,name=experiment_id,json=experimentId,proto3" json:"experiment_id,omitempty"`
Upserts []*LuckyGiftExperimentOverride `protobuf:"bytes,3,rep,name=upserts,proto3" json:"upserts,omitempty"`
Removes []string `protobuf:"bytes,4,rep,name=removes,proto3" json:"removes,omitempty"`
OperatorAdminId int64 `protobuf:"varint,5,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SetLuckyGiftExperimentOverridesRequest) Reset() {
*x = SetLuckyGiftExperimentOverridesRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SetLuckyGiftExperimentOverridesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetLuckyGiftExperimentOverridesRequest) ProtoMessage() {}
func (x *SetLuckyGiftExperimentOverridesRequest) 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 SetLuckyGiftExperimentOverridesRequest.ProtoReflect.Descriptor instead.
func (*SetLuckyGiftExperimentOverridesRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{37}
}
func (x *SetLuckyGiftExperimentOverridesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *SetLuckyGiftExperimentOverridesRequest) GetExperimentId() string {
if x != nil {
return x.ExperimentId
}
return ""
}
func (x *SetLuckyGiftExperimentOverridesRequest) GetUpserts() []*LuckyGiftExperimentOverride {
if x != nil {
return x.Upserts
}
return nil
}
func (x *SetLuckyGiftExperimentOverridesRequest) GetRemoves() []string {
if x != nil {
return x.Removes
}
return nil
}
func (x *SetLuckyGiftExperimentOverridesRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
type SetLuckyGiftExperimentOverridesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Experiment *LuckyGiftExperiment `protobuf:"bytes,1,opt,name=experiment,proto3" json:"experiment,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SetLuckyGiftExperimentOverridesResponse) Reset() {
*x = SetLuckyGiftExperimentOverridesResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SetLuckyGiftExperimentOverridesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetLuckyGiftExperimentOverridesResponse) ProtoMessage() {}
func (x *SetLuckyGiftExperimentOverridesResponse) 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 SetLuckyGiftExperimentOverridesResponse.ProtoReflect.Descriptor instead.
func (*SetLuckyGiftExperimentOverridesResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{38}
}
func (x *SetLuckyGiftExperimentOverridesResponse) GetExperiment() *LuckyGiftExperiment {
if x != nil {
return x.Experiment
}
return nil
}
// EndLuckyGiftExperimentRequest 结束实验:把 winner_arm 钉住的配置快照重发布为新的最新版本,
// 同事务内完成实验收口,保证结束瞬间的版本收敛没有中间态。
type EndLuckyGiftExperimentRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
ExperimentId string `protobuf:"bytes,2,opt,name=experiment_id,json=experimentId,proto3" json:"experiment_id,omitempty"`
WinnerArm string `protobuf:"bytes,3,opt,name=winner_arm,json=winnerArm,proto3" json:"winner_arm,omitempty"`
OperatorAdminId int64 `protobuf:"varint,4,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EndLuckyGiftExperimentRequest) Reset() {
*x = EndLuckyGiftExperimentRequest{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EndLuckyGiftExperimentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EndLuckyGiftExperimentRequest) ProtoMessage() {}
func (x *EndLuckyGiftExperimentRequest) 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 EndLuckyGiftExperimentRequest.ProtoReflect.Descriptor instead.
func (*EndLuckyGiftExperimentRequest) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{39}
}
func (x *EndLuckyGiftExperimentRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *EndLuckyGiftExperimentRequest) GetExperimentId() string {
if x != nil {
return x.ExperimentId
}
return ""
}
func (x *EndLuckyGiftExperimentRequest) GetWinnerArm() string {
if x != nil {
return x.WinnerArm
}
return ""
}
func (x *EndLuckyGiftExperimentRequest) GetOperatorAdminId() int64 {
if x != nil {
return x.OperatorAdminId
}
return 0
}
type EndLuckyGiftExperimentResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Experiment *LuckyGiftExperiment `protobuf:"bytes,1,opt,name=experiment,proto3" json:"experiment,omitempty"`
FinalConfig *LuckyGiftRuleConfig `protobuf:"bytes,2,opt,name=final_config,json=finalConfig,proto3" json:"final_config,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EndLuckyGiftExperimentResponse) Reset() {
*x = EndLuckyGiftExperimentResponse{}
mi := &file_proto_luckygift_v1_luckygift_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EndLuckyGiftExperimentResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EndLuckyGiftExperimentResponse) ProtoMessage() {}
func (x *EndLuckyGiftExperimentResponse) 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 EndLuckyGiftExperimentResponse.ProtoReflect.Descriptor instead.
func (*EndLuckyGiftExperimentResponse) Descriptor() ([]byte, []int) {
return file_proto_luckygift_v1_luckygift_proto_rawDescGZIP(), []int{40}
}
func (x *EndLuckyGiftExperimentResponse) GetExperiment() *LuckyGiftExperiment {
if x != nil {
return x.Experiment
}
return nil
}
func (x *EndLuckyGiftExperimentResponse) GetFinalConfig() *LuckyGiftRuleConfig {
if x != nil {
return x.FinalConfig
}
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[41]
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[41]
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{41}
}
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[42]
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[42]
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{42}
}
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[43]
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[43]
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{43}
}
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[44]
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[44]
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{44}
}
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[45]
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[45]
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{45}
}
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[46]
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[46]
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{46}
}
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[47]
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[47]
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{47}
}
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[48]
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[48]
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{48}
}
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[49]
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[49]
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{49}
}
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[50]
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[50]
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{50}
}
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[51]
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[51]
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{51}
}
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[52]
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[52]
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{52}
}
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[53]
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[53]
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{53}
}
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\"J\n" +
"\x1bLuckyGiftExperimentOverride\x12\x19\n" +
"\buser_key\x18\x01 \x01(\tR\auserKey\x12\x10\n" +
"\x03arm\x18\x02 \x01(\tR\x03arm\"\xc1\x02\n" +
"\x1bLuckyGiftExperimentArmStats\x12\x10\n" +
"\x03arm\x18\x01 \x01(\tR\x03arm\x12!\n" +
"\frule_version\x18\x02 \x01(\x03R\vruleVersion\x12)\n" +
"\x10strategy_version\x18\x03 \x01(\tR\x0fstrategyVersion\x12\x1f\n" +
"\vtotal_draws\x18\x04 \x01(\x03R\n" +
"totalDraws\x12!\n" +
"\funique_users\x18\x05 \x01(\x03R\vuniqueUsers\x12*\n" +
"\x11total_spent_coins\x18\x06 \x01(\x03R\x0ftotalSpentCoins\x12,\n" +
"\x12total_reward_coins\x18\a \x01(\x03R\x10totalRewardCoins\x12$\n" +
"\x0eactual_rtp_ppm\x18\b \x01(\x03R\factualRtpPpm\"\x88\x06\n" +
"\x13LuckyGiftExperiment\x12\x19\n" +
"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12#\n" +
"\rexperiment_id\x18\x03 \x01(\tR\fexperimentId\x12\x12\n" +
"\x04name\x18\x04 \x01(\tR\x04name\x120\n" +
"\x14control_rule_version\x18\x05 \x01(\x03R\x12controlRuleVersion\x124\n" +
"\x16treatment_rule_version\x18\x06 \x01(\x03R\x14treatmentRuleVersion\x122\n" +
"\x15treatment_traffic_ppm\x18\a \x01(\x03R\x13treatmentTrafficPpm\x12\x1f\n" +
"\vbucket_salt\x18\b \x01(\tR\n" +
"bucketSalt\x12\x16\n" +
"\x06status\x18\t \x01(\tR\x06status\x12\x1d\n" +
"\n" +
"winner_arm\x18\n" +
" \x01(\tR\twinnerArm\x12.\n" +
"\x13winner_rule_version\x18\v \x01(\x03R\x11winnerRuleVersion\x12,\n" +
"\x12final_rule_version\x18\f \x01(\x03R\x10finalRuleVersion\x12-\n" +
"\x13created_by_admin_id\x18\r \x01(\x03R\x10createdByAdminId\x12\"\n" +
"\rstarted_at_ms\x18\x0e \x01(\x03R\vstartedAtMs\x12\x1e\n" +
"\vended_at_ms\x18\x0f \x01(\x03R\tendedAtMs\x12\"\n" +
"\rupdated_at_ms\x18\x10 \x01(\x03R\vupdatedAtMs\x12M\n" +
"\toverrides\x18\x11 \x03(\v2/.hyapp.luckygift.v1.LuckyGiftExperimentOverrideR\toverrides\x12L\n" +
"\tarm_stats\x18\x12 \x03(\v2/.hyapp.luckygift.v1.LuckyGiftExperimentArmStatsR\barmStats\"\xee\x02\n" +
" CreateLuckyGiftExperimentRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12R\n" +
"\x10treatment_config\x18\x03 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\x0ftreatmentConfig\x122\n" +
"\x15treatment_traffic_ppm\x18\x04 \x01(\x03R\x13treatmentTrafficPpm\x12*\n" +
"\x11operator_admin_id\x18\x05 \x01(\x03R\x0foperatorAdminId\x12M\n" +
"\toverrides\x18\x06 \x03(\v2/.hyapp.luckygift.v1.LuckyGiftExperimentOverrideR\toverrides\"\xc0\x01\n" +
"!CreateLuckyGiftExperimentResponse\x12G\n" +
"\n" +
"experiment\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftExperimentR\n" +
"experiment\x12R\n" +
"\x10treatment_config\x18\x02 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\x0ftreatmentConfig\"\xa6\x01\n" +
"\x1fListLuckyGiftExperimentsRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12\x17\n" +
"\apool_id\x18\x02 \x01(\tR\x06poolId\x12\x16\n" +
"\x06status\x18\x03 \x01(\tR\x06status\x12\x1d\n" +
"\n" +
"with_stats\x18\x04 \x01(\bR\twithStats\"m\n" +
" ListLuckyGiftExperimentsResponse\x12I\n" +
"\vexperiments\x18\x01 \x03(\v2'.hyapp.luckygift.v1.LuckyGiftExperimentR\vexperiments\"\x93\x02\n" +
" UpdateLuckyGiftExperimentRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12#\n" +
"\rexperiment_id\x18\x02 \x01(\tR\fexperimentId\x127\n" +
"\x15treatment_traffic_ppm\x18\x03 \x01(\x03H\x00R\x13treatmentTrafficPpm\x88\x01\x01\x12\x16\n" +
"\x06status\x18\x04 \x01(\tR\x06status\x12*\n" +
"\x11operator_admin_id\x18\x05 \x01(\x03R\x0foperatorAdminIdB\x18\n" +
"\x16_treatment_traffic_ppm\"l\n" +
"!UpdateLuckyGiftExperimentResponse\x12G\n" +
"\n" +
"experiment\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftExperimentR\n" +
"experiment\"\x93\x02\n" +
"&SetLuckyGiftExperimentOverridesRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12#\n" +
"\rexperiment_id\x18\x02 \x01(\tR\fexperimentId\x12I\n" +
"\aupserts\x18\x03 \x03(\v2/.hyapp.luckygift.v1.LuckyGiftExperimentOverrideR\aupserts\x12\x18\n" +
"\aremoves\x18\x04 \x03(\tR\aremoves\x12*\n" +
"\x11operator_admin_id\x18\x05 \x01(\x03R\x0foperatorAdminId\"r\n" +
"'SetLuckyGiftExperimentOverridesResponse\x12G\n" +
"\n" +
"experiment\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftExperimentR\n" +
"experiment\"\xc4\x01\n" +
"\x1dEndLuckyGiftExperimentRequest\x123\n" +
"\x04meta\x18\x01 \x01(\v2\x1f.hyapp.luckygift.v1.RequestMetaR\x04meta\x12#\n" +
"\rexperiment_id\x18\x02 \x01(\tR\fexperimentId\x12\x1d\n" +
"\n" +
"winner_arm\x18\x03 \x01(\tR\twinnerArm\x12*\n" +
"\x11operator_admin_id\x18\x04 \x01(\x03R\x0foperatorAdminId\"\xb5\x01\n" +
"\x1eEndLuckyGiftExperimentResponse\x12G\n" +
"\n" +
"experiment\x18\x01 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftExperimentR\n" +
"experiment\x12J\n" +
"\ffinal_config\x18\x02 \x01(\v2'.hyapp.luckygift.v1.LuckyGiftRuleConfigR\vfinalConfig\"\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\xe4\x0e\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" +
"\x19CreateLuckyGiftExperiment\x124.hyapp.luckygift.v1.CreateLuckyGiftExperimentRequest\x1a5.hyapp.luckygift.v1.CreateLuckyGiftExperimentResponse\x12\x85\x01\n" +
"\x18ListLuckyGiftExperiments\x123.hyapp.luckygift.v1.ListLuckyGiftExperimentsRequest\x1a4.hyapp.luckygift.v1.ListLuckyGiftExperimentsResponse\x12\x88\x01\n" +
"\x19UpdateLuckyGiftExperiment\x124.hyapp.luckygift.v1.UpdateLuckyGiftExperimentRequest\x1a5.hyapp.luckygift.v1.UpdateLuckyGiftExperimentResponse\x12\x9a\x01\n" +
"\x1fSetLuckyGiftExperimentOverrides\x12:.hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesRequest\x1a;.hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesResponse\x12\x7f\n" +
"\x16EndLuckyGiftExperiment\x121.hyapp.luckygift.v1.EndLuckyGiftExperimentRequest\x1a2.hyapp.luckygift.v1.EndLuckyGiftExperimentResponse\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, 54)
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
(*LuckyGiftExperimentOverride)(nil), // 28: hyapp.luckygift.v1.LuckyGiftExperimentOverride
(*LuckyGiftExperimentArmStats)(nil), // 29: hyapp.luckygift.v1.LuckyGiftExperimentArmStats
(*LuckyGiftExperiment)(nil), // 30: hyapp.luckygift.v1.LuckyGiftExperiment
(*CreateLuckyGiftExperimentRequest)(nil), // 31: hyapp.luckygift.v1.CreateLuckyGiftExperimentRequest
(*CreateLuckyGiftExperimentResponse)(nil), // 32: hyapp.luckygift.v1.CreateLuckyGiftExperimentResponse
(*ListLuckyGiftExperimentsRequest)(nil), // 33: hyapp.luckygift.v1.ListLuckyGiftExperimentsRequest
(*ListLuckyGiftExperimentsResponse)(nil), // 34: hyapp.luckygift.v1.ListLuckyGiftExperimentsResponse
(*UpdateLuckyGiftExperimentRequest)(nil), // 35: hyapp.luckygift.v1.UpdateLuckyGiftExperimentRequest
(*UpdateLuckyGiftExperimentResponse)(nil), // 36: hyapp.luckygift.v1.UpdateLuckyGiftExperimentResponse
(*SetLuckyGiftExperimentOverridesRequest)(nil), // 37: hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesRequest
(*SetLuckyGiftExperimentOverridesResponse)(nil), // 38: hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesResponse
(*EndLuckyGiftExperimentRequest)(nil), // 39: hyapp.luckygift.v1.EndLuckyGiftExperimentRequest
(*EndLuckyGiftExperimentResponse)(nil), // 40: hyapp.luckygift.v1.EndLuckyGiftExperimentResponse
(*LuckyGiftHit)(nil), // 41: hyapp.luckygift.v1.LuckyGiftHit
(*AdjustLuckyGiftPoolBalanceRequest)(nil), // 42: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest
(*LuckyGiftPoolAdjustment)(nil), // 43: hyapp.luckygift.v1.LuckyGiftPoolAdjustment
(*AdjustLuckyGiftPoolBalanceResponse)(nil), // 44: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse
(*LuckyGiftUserProfileWindow)(nil), // 45: hyapp.luckygift.v1.LuckyGiftUserProfileWindow
(*LuckyGiftUserProfile)(nil), // 46: hyapp.luckygift.v1.LuckyGiftUserProfile
(*ListLuckyGiftUserProfilesRequest)(nil), // 47: hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest
(*ListLuckyGiftUserProfilesResponse)(nil), // 48: hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse
(*GetLuckyGiftUserProfileRequest)(nil), // 49: hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest
(*LuckyGiftUserMultiplierStat)(nil), // 50: hyapp.luckygift.v1.LuckyGiftUserMultiplierStat
(*LuckyGiftUserJackpotCondition)(nil), // 51: hyapp.luckygift.v1.LuckyGiftUserJackpotCondition
(*LuckyGiftUserJackpotHit)(nil), // 52: hyapp.luckygift.v1.LuckyGiftUserJackpotHit
(*GetLuckyGiftUserProfileResponse)(nil), // 53: 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
41, // 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
28, // 23: hyapp.luckygift.v1.LuckyGiftExperiment.overrides:type_name -> hyapp.luckygift.v1.LuckyGiftExperimentOverride
29, // 24: hyapp.luckygift.v1.LuckyGiftExperiment.arm_stats:type_name -> hyapp.luckygift.v1.LuckyGiftExperimentArmStats
0, // 25: hyapp.luckygift.v1.CreateLuckyGiftExperimentRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
4, // 26: hyapp.luckygift.v1.CreateLuckyGiftExperimentRequest.treatment_config:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
28, // 27: hyapp.luckygift.v1.CreateLuckyGiftExperimentRequest.overrides:type_name -> hyapp.luckygift.v1.LuckyGiftExperimentOverride
30, // 28: hyapp.luckygift.v1.CreateLuckyGiftExperimentResponse.experiment:type_name -> hyapp.luckygift.v1.LuckyGiftExperiment
4, // 29: hyapp.luckygift.v1.CreateLuckyGiftExperimentResponse.treatment_config:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
0, // 30: hyapp.luckygift.v1.ListLuckyGiftExperimentsRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
30, // 31: hyapp.luckygift.v1.ListLuckyGiftExperimentsResponse.experiments:type_name -> hyapp.luckygift.v1.LuckyGiftExperiment
0, // 32: hyapp.luckygift.v1.UpdateLuckyGiftExperimentRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
30, // 33: hyapp.luckygift.v1.UpdateLuckyGiftExperimentResponse.experiment:type_name -> hyapp.luckygift.v1.LuckyGiftExperiment
0, // 34: hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
28, // 35: hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesRequest.upserts:type_name -> hyapp.luckygift.v1.LuckyGiftExperimentOverride
30, // 36: hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesResponse.experiment:type_name -> hyapp.luckygift.v1.LuckyGiftExperiment
0, // 37: hyapp.luckygift.v1.EndLuckyGiftExperimentRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
30, // 38: hyapp.luckygift.v1.EndLuckyGiftExperimentResponse.experiment:type_name -> hyapp.luckygift.v1.LuckyGiftExperiment
4, // 39: hyapp.luckygift.v1.EndLuckyGiftExperimentResponse.final_config:type_name -> hyapp.luckygift.v1.LuckyGiftRuleConfig
0, // 40: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
43, // 41: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse.adjustment:type_name -> hyapp.luckygift.v1.LuckyGiftPoolAdjustment
23, // 42: hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse.pool:type_name -> hyapp.luckygift.v1.LuckyGiftPoolBalance
45, // 43: hyapp.luckygift.v1.LuckyGiftUserProfile.one_hour:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
45, // 44: hyapp.luckygift.v1.LuckyGiftUserProfile.twenty_four_hours:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
45, // 45: hyapp.luckygift.v1.LuckyGiftUserProfile.forty_eight_hours:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
45, // 46: hyapp.luckygift.v1.LuckyGiftUserProfile.lifetime:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfileWindow
0, // 47: hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
46, // 48: hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse.profiles:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfile
0, // 49: hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest.meta:type_name -> hyapp.luckygift.v1.RequestMeta
51, // 50: hyapp.luckygift.v1.LuckyGiftUserJackpotHit.conditions:type_name -> hyapp.luckygift.v1.LuckyGiftUserJackpotCondition
46, // 51: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse.profile:type_name -> hyapp.luckygift.v1.LuckyGiftUserProfile
50, // 52: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse.multiplier_distribution:type_name -> hyapp.luckygift.v1.LuckyGiftUserMultiplierStat
52, // 53: hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse.jackpot_hits:type_name -> hyapp.luckygift.v1.LuckyGiftUserJackpotHit
5, // 54: hyapp.luckygift.v1.LuckyGiftService.CheckLuckyGift:input_type -> hyapp.luckygift.v1.CheckLuckyGiftRequest
8, // 55: hyapp.luckygift.v1.LuckyGiftService.ExecuteLuckyGiftDraw:input_type -> hyapp.luckygift.v1.ExecuteLuckyGiftDrawRequest
10, // 56: hyapp.luckygift.v1.LuckyGiftService.BatchExecuteLuckyGiftDraw:input_type -> hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawRequest
12, // 57: hyapp.luckygift.v1.LuckyGiftService.ExecuteExternalGiftDraw:input_type -> hyapp.luckygift.v1.ExternalGiftDrawRequest
14, // 58: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftConfig:input_type -> hyapp.luckygift.v1.GetLuckyGiftConfigRequest
16, // 59: hyapp.luckygift.v1.AdminLuckyGiftService.UpsertLuckyGiftConfig:input_type -> hyapp.luckygift.v1.UpsertLuckyGiftConfigRequest
18, // 60: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftConfigs:input_type -> hyapp.luckygift.v1.ListLuckyGiftConfigsRequest
20, // 61: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftDraws:input_type -> hyapp.luckygift.v1.ListLuckyGiftDrawsRequest
24, // 62: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftDrawSummary:input_type -> hyapp.luckygift.v1.GetLuckyGiftDrawSummaryRequest
26, // 63: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftPoolBalances:input_type -> hyapp.luckygift.v1.ListLuckyGiftPoolBalancesRequest
42, // 64: hyapp.luckygift.v1.AdminLuckyGiftService.AdjustLuckyGiftPoolBalance:input_type -> hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceRequest
31, // 65: hyapp.luckygift.v1.AdminLuckyGiftService.CreateLuckyGiftExperiment:input_type -> hyapp.luckygift.v1.CreateLuckyGiftExperimentRequest
33, // 66: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftExperiments:input_type -> hyapp.luckygift.v1.ListLuckyGiftExperimentsRequest
35, // 67: hyapp.luckygift.v1.AdminLuckyGiftService.UpdateLuckyGiftExperiment:input_type -> hyapp.luckygift.v1.UpdateLuckyGiftExperimentRequest
37, // 68: hyapp.luckygift.v1.AdminLuckyGiftService.SetLuckyGiftExperimentOverrides:input_type -> hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesRequest
39, // 69: hyapp.luckygift.v1.AdminLuckyGiftService.EndLuckyGiftExperiment:input_type -> hyapp.luckygift.v1.EndLuckyGiftExperimentRequest
47, // 70: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftUserProfiles:input_type -> hyapp.luckygift.v1.ListLuckyGiftUserProfilesRequest
49, // 71: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftUserProfile:input_type -> hyapp.luckygift.v1.GetLuckyGiftUserProfileRequest
6, // 72: hyapp.luckygift.v1.LuckyGiftService.CheckLuckyGift:output_type -> hyapp.luckygift.v1.CheckLuckyGiftResponse
9, // 73: hyapp.luckygift.v1.LuckyGiftService.ExecuteLuckyGiftDraw:output_type -> hyapp.luckygift.v1.ExecuteLuckyGiftDrawResponse
11, // 74: hyapp.luckygift.v1.LuckyGiftService.BatchExecuteLuckyGiftDraw:output_type -> hyapp.luckygift.v1.BatchExecuteLuckyGiftDrawResponse
13, // 75: hyapp.luckygift.v1.LuckyGiftService.ExecuteExternalGiftDraw:output_type -> hyapp.luckygift.v1.ExternalGiftDrawResponse
15, // 76: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftConfig:output_type -> hyapp.luckygift.v1.GetLuckyGiftConfigResponse
17, // 77: hyapp.luckygift.v1.AdminLuckyGiftService.UpsertLuckyGiftConfig:output_type -> hyapp.luckygift.v1.UpsertLuckyGiftConfigResponse
19, // 78: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftConfigs:output_type -> hyapp.luckygift.v1.ListLuckyGiftConfigsResponse
21, // 79: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftDraws:output_type -> hyapp.luckygift.v1.ListLuckyGiftDrawsResponse
25, // 80: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftDrawSummary:output_type -> hyapp.luckygift.v1.GetLuckyGiftDrawSummaryResponse
27, // 81: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftPoolBalances:output_type -> hyapp.luckygift.v1.ListLuckyGiftPoolBalancesResponse
44, // 82: hyapp.luckygift.v1.AdminLuckyGiftService.AdjustLuckyGiftPoolBalance:output_type -> hyapp.luckygift.v1.AdjustLuckyGiftPoolBalanceResponse
32, // 83: hyapp.luckygift.v1.AdminLuckyGiftService.CreateLuckyGiftExperiment:output_type -> hyapp.luckygift.v1.CreateLuckyGiftExperimentResponse
34, // 84: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftExperiments:output_type -> hyapp.luckygift.v1.ListLuckyGiftExperimentsResponse
36, // 85: hyapp.luckygift.v1.AdminLuckyGiftService.UpdateLuckyGiftExperiment:output_type -> hyapp.luckygift.v1.UpdateLuckyGiftExperimentResponse
38, // 86: hyapp.luckygift.v1.AdminLuckyGiftService.SetLuckyGiftExperimentOverrides:output_type -> hyapp.luckygift.v1.SetLuckyGiftExperimentOverridesResponse
40, // 87: hyapp.luckygift.v1.AdminLuckyGiftService.EndLuckyGiftExperiment:output_type -> hyapp.luckygift.v1.EndLuckyGiftExperimentResponse
48, // 88: hyapp.luckygift.v1.AdminLuckyGiftService.ListLuckyGiftUserProfiles:output_type -> hyapp.luckygift.v1.ListLuckyGiftUserProfilesResponse
53, // 89: hyapp.luckygift.v1.AdminLuckyGiftService.GetLuckyGiftUserProfile:output_type -> hyapp.luckygift.v1.GetLuckyGiftUserProfileResponse
72, // [72:90] is the sub-list for method output_type
54, // [54:72] is the sub-list for method input_type
54, // [54:54] is the sub-list for extension type_name
54, // [54:54] is the sub-list for extension extendee
0, // [0:54] 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
}
file_proto_luckygift_v1_luckygift_proto_msgTypes[35].OneofWrappers = []any{}
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: 54,
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
}