levelrewards.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package proto
  2. import item "bet24.com/servers/micros/item_inventory/proto"
  3. const (
  4. Free_Pack = 0 // 免费礼包
  5. Paid_Pack = 1 // 付费礼包
  6. )
  7. // 等级礼包
  8. type LevelRewards struct {
  9. DurationDay int // 活动持续时间(天)
  10. LvRestriction int // 等级限制
  11. Tasks []LevelTask // 等级任务
  12. ProductPrice PaidPrice // 产品价格
  13. }
  14. // 付费的价格
  15. type PaidPrice struct {
  16. ProductId string // 商品ID,需要同步商城配置
  17. Name string // 礼包名称
  18. Desc string // 描述
  19. Price float64 // 价格
  20. Items []item.ItemPack // 礼包内容
  21. }
  22. // 等级任务
  23. type LevelTask struct {
  24. Level int // 等级
  25. Free []item.ItemPack // 免费的
  26. Paid []item.ItemPack // 付费的
  27. }
  28. // 用户的等级礼包
  29. type UserLevelRewards struct {
  30. LevelRewards
  31. DaysRemaining int // 剩余的天数
  32. IsPaid bool // 是否付费
  33. Level int // 当前等级
  34. Schedule []UserLevelTaskSchedule // 任务时间表
  35. }
  36. // 用户等级任务时间表
  37. type UserLevelTaskSchedule struct {
  38. Level int // 等级要求
  39. PaidPack int // 付费礼包(0=不是,1=是)
  40. ClaimStatus int // 领取状态(0不可领取,1可领取,2已领取)
  41. CreateDayIndex int // 创建天的索引
  42. }
  43. // 是否付费礼包
  44. func (ult UserLevelTaskSchedule) IsPaidPack() bool {
  45. return ult.PaidPack == Paid_Pack
  46. }