achieveTask.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package models
  2. import "github.com/mhaya/game/game_cluster/internal/data"
  3. // 离散规则信息
  4. const (
  5. InitRoll = 1
  6. InvitePlayer = 2
  7. InviteVipPlayer = 3
  8. InvitePlayerByLeader = 4
  9. RefreshRoll = 5
  10. NewPlayerGuide = 6
  11. ShareLottery = 7
  12. FirstBindingTwitter = 8
  13. InviteMaxExpireTime = 9
  14. UCashOutConfig = 10
  15. TonCashOutConfig = 11
  16. NewPlayer10Draw = 12
  17. )
  18. type AchieveTaskBase struct {
  19. ID int `json:"id" bson:"id"` // #任务ID
  20. Order int `json:"order" bson:"order"` //任务客户端排序
  21. Type int `json:"type" bson:"type"` // 任务类型(1基本类型2邀请好友相关)
  22. Condition data.RangeInt32 `json:"condition" bson:"condition"` // 完成范围 RangeInt32 `json:"condition" bson:"condition"` // 完成条件
  23. Reward []data.ItemReward `json:"reward" bson:"reward"` // 奖励
  24. Url string `json:"url" bson:"url"` // 链接
  25. Num int `json:"num" bson:"num"` //已完成次数
  26. RewardNum int `json:"rewardNum" bson:"rewardNum"` //可领奖次数
  27. Status int `json:"status" bson:"status"` //完成状态0未完成 1已完成2已领取奖励
  28. Validate int `json:"validate" bson:"validate"` //验证状态 0 未验证 1待验证 2验证成功
  29. }
  30. type AchieveTask map[int]*AchieveTaskBase
  31. func NewAchieveTask() map[int]*AchieveTaskBase {
  32. return make(map[int]*AchieveTaskBase)
  33. }
  34. func (at AchieveTask) RefreshAchieveTask() {
  35. ret := data.AchieveTaskConfig.GetAll()
  36. for _, d := range ret {
  37. if _, ok := at[d.ID]; !ok {
  38. at[d.ID] = &AchieveTaskBase{
  39. ID: d.ID,
  40. Order: d.Order,
  41. Type: d.Type,
  42. Condition: d.Condition,
  43. Reward: d.Reward,
  44. RewardNum: 0,
  45. Num: 0,
  46. Url: d.Url,
  47. Status: 0,
  48. }
  49. }
  50. }
  51. }