package msg

import (
	"leafstalk/covenant/model"
)

// TriggerLuckGift 触发幸运礼包
type TriggerLuckGift struct {
	ErrCode int                 `json:"errCode"`
	Msg     string              `json:"msg,omitempty"`
	Data    TriggerLuckGiftData `json:"data"`
}

type TriggerLuckGiftData struct {
	Id int64 `json:"id"`
	CD int64 `json:"cd"`
}

// 获取触发的幸运礼包
type TriggerLuckGiftInfo struct {
	PlayerId int64 `json:"userId"`
}

type ResponseTriggerLuckGiftInfo struct {
	ErrCode int             `json:"errCode"`
	Msg     string          `json:"msg,omitempty"`
	Data    map[int64]int64 `json:"data"` //礼包：CD
}

// 每日充值信息
type DailyRechargeInfo struct {
	PlayerId int64 `json:"userId"`
}

type ResponseDailyRechargeInfo struct {
	ErrCode int                              `json:"errCode"`
	Msg     string                           `json:"msg,omitempty"`
	Data    map[int64]*DailyRechargeInfoData `json:"data"` // 档位 充值信息
}

type DailyRechargeInfoData struct {
	DaySum        int64 `json:"daySum"`     // 完成的天数
	ProcessReward int64 `json:"prcsReward"` // 领取的进度奖励
	RechargeNum   int64 `json:"num"`        // 最后一天充值金额
	DayReward     int64 `json:"dayReward"`  // 领取的日奖励
}

// 领取每日充值奖励
type DailyRechargeReward struct {
	PlayerId int64 `json:"userId"`
	Level    int64 `json:"level"`
	MaxDay   int64 `json:"maxDay"` //已领取最大天数
}

type ResponseDailyRechargeReward struct {
	ErrCode int                      `json:"errCode"`
	Msg     string                   `json:"msg,omitempty"`
	Data    *DailyRechargeRewardData `json:"data"`
}

type DailyRechargeRewardData struct {
	Day     int64               `json:"day"`
	Bundles *model.DropedBundle `json:"bundles"`
}

// 领取每日充值进度奖励
type DailyRechargeProcessReward struct {
	PlayerId int64 `json:"userId"`
	Level    int64 `json:"level"`
	MaxDay   int64 `json:"maxDay"`
}

type ResponseDailyRechargeProcessReward struct {
	ErrCode int                      `json:"errCode"`
	Msg     string                   `json:"msg,omitempty"`
	Data    *DailyRechargeRewardData `json:"data"`
}

// 循环充值信息
type CycleRechargeInfo struct {
	PlayerId int64 `json:"userId"`
}

type ResponseCycleRechargeInfo struct {
	ErrCode int                  `json:"errCode"`
	Msg     string               `json:"msg,omitempty"`
	Data    *model.CycleRecharge `json:"data"`
}

// type CycleRecharge struct {
// 	Sum    int64 `json:"sum"`    // 总充值钻石数
// 	Num    int64 `json:"num"`    // 本轮累计充值钻石数
// 	Reward int64 `json:"reward"` // 领取的最后一个奖励的档位
// }

// 领取循环充值奖励
type CycleRechargeReward struct {
	PlayerId int64 `json:"userId"`
	Reward   int64 `json:"reward"` //领取最大档位
}

type ResponseCycleRechargeReward struct {
	ErrCode int                      `json:"errCode"`
	Msg     string                   `json:"msg,omitempty"`
	Data    *CycleRechargeRewardData `json:"data"`
}

type CycleRechargeRewardData struct {
	Num     int64               `json:"num"`
	Reward  int64               `json:"reward"`
	Bundles *model.DropedBundle `json:"bundles"`
}
