package yoyomodel

// 常量定义
const (
	RdsYoyoUserDataKey = "yoyo_data_" // 玩家摇摇乐数据(改此值的话，需要改支付相应的值)
)

// 请求摇摇乐配置
type ShakeConfigReq struct {
	Ver int `form:"ver"` // 版本号
}

// 摇摇乐Redis数据
type ShakeDataRedis struct {
	CurrBuy     int    `json:"curr_buy"`     // 当前购买次数
	ShakeCount  int    `json:"shake_count"`  // 当前摇一摇可使用次数
	CostDiamond int    `json:"cost_diamond"` // 钻石现价
	BaseBeans   int    `json:"base_beans"`   // 当前基础豆豆
	Multiple    int    `json:"multiple"`     // 当前倍数
	Goods       string `json:"yoyo_goods"`   // 当前命中的计费点
	IsBuy       bool   `json:"is_buy"`       // 当前是否已购买过
	CurrLevel   int    `json:"curr_level"`   // 当前档位
	ShakeMax    int    `json:"shake_max"`    // 最大摇奖次数
	BuyMax      int    `json:"buy_max"`      // 摇摇乐最大购买次数
}

// 界面初始化返回
type InitShakeRsp struct {
	CurrBuy     int        `json:"curr_buy"`     // 当前购买次数
	ShakeCount  int        `json:"shake_count"`  // 当前摇一摇可使用次数
	CostDiamond int        `json:"cost_diamond"` // 钻石现价
	BaseBeans   int        `json:"base_beans"`   // 当前基础豆豆
	Multiple    int        `json:"multiple"`     // 当前倍数
	Goods       string     `json:"yoyo_goods"`   // 当前命中的计费点
	IsBuy       bool       `json:"is_buy"`       // 当前是否已购买过
	CurrLevel   int        `json:"curr_level"`   // 当前档位
	IsFirst     bool       `json:"is_first"`     // 是否首次打开,客户端界面展示用
	Config      YoyoConfig `json:"yoyo_config"`  // 配置
}

// 请求重摇
type ShakeReq struct {
	Ver     int  `form:"ver"`                      // 版本号
	IsReset bool `json:"is_reset" form:"is_reset"` // 是否重置；true-重置，false-重摇
}

// 摇一摇数据返回
type ShakeDataRsp struct {
	CurrBuy     int    `json:"curr_buy"`     // 当前购买次数
	ShakeCount  int    `json:"shake_count"`  // 当前摇一摇可使用次数
	CostDiamond int    `json:"cost_diamond"` // 钻石现价
	BaseBeans   int    `json:"base_beans"`   // 当前基础豆豆
	Multiple    int    `json:"multiple"`     // 当前倍数
	Goods       string `json:"yoyo_goods"`   // 当前命中的计费点
	IsBuy       bool   `json:"is_buy"`       // 当前是否已购买过
	CurrLevel   int    `json:"curr_level"`   // 当前档位
	IsFirst     bool   `json:"is_first"`     // 是否首次打开,客户端界面展示用
}

//上报摇一摇增加次数
type UploadGameRoundReq struct {
	AddCount int `json:"add_count" form:"add_count"` // 摇一摇增加次数
}

// 上报游戏局数返回
type UploadGameRoundRsp struct {
	ShakeCount int `json:"shake_count"` // 摇一摇次数
}
