manager.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package battlepass
  2. import (
  3. "bet24.com/log"
  4. "encoding/json"
  5. "strconv"
  6. )
  7. type battlepass_manager struct {
  8. sm *seasonmanager
  9. um *usermanager
  10. }
  11. func newBattlePassManager() *battlepass_manager {
  12. m := new(battlepass_manager)
  13. return m
  14. }
  15. func (m *battlepass_manager) initData() {
  16. m.sm = newSeasonManager()
  17. m.um = newUserManager()
  18. }
  19. func (m *battlepass_manager) onUserEnter(userId int) {
  20. m.um.onUserEnter(userId)
  21. }
  22. func (m *battlepass_manager) onUserExit(userId int) {
  23. m.um.onUserExit(userId)
  24. }
  25. func (m *battlepass_manager) getGrowthPacks() []GrowthPack {
  26. return m.sm.getGrowthPacks()
  27. }
  28. func (m *battlepass_manager) getGrowthPack(packId int) *GrowthPack {
  29. return m.sm.getGrowthPack(packId)
  30. }
  31. func (m *battlepass_manager) getGrowthPackByProduct(productId string) *GrowthPack {
  32. return m.sm.getGrowthPackByProduct(productId)
  33. }
  34. func (m *battlepass_manager) getUserGrowthTerms(userId int) []*UserGrowthTerm {
  35. return m.um.getUserGrowthTerms(userId)
  36. }
  37. func (m *battlepass_manager) buyGrowthPack(userId int, productId string) (int, string) {
  38. return m.um.buyGrowthPack(userId, productId)
  39. }
  40. func (m *battlepass_manager) getGrowthTerm(growthPackId, index int) *GrowthTerm {
  41. return m.sm.getGrowthTerm(growthPackId, index)
  42. }
  43. func (m *battlepass_manager) userAwardTerm(userId int, growthPackId, index int) (bool, string) {
  44. return m.um.userAwardTerm(userId, growthPackId, index)
  45. }
  46. func (m *battlepass_manager) getMaxExp() int {
  47. return m.sm.getMaxExp()
  48. }
  49. func (m *battlepass_manager) getMaxDayExp() int {
  50. return m.sm.getMaxDayExp()
  51. }
  52. func (m *battlepass_manager) addExp(userId int, exp int) {
  53. m.um.addExp(userId, exp)
  54. }
  55. func (m *battlepass_manager) dumpSys(param string) {
  56. log.Release("-------------------------------")
  57. log.Release("battlepass_manager.dumpSys %s", param)
  58. defer func() {
  59. log.Release("+++++++++++++++++++++++++++++++")
  60. log.Release("")
  61. }()
  62. d, _ := json.Marshal(m.sm.seasons)
  63. log.Release(string(d))
  64. }
  65. func (m *battlepass_manager) dumpUser(param string) {
  66. log.Release("-------------------------------")
  67. log.Release("battlepass_manager.dumpUser %s", param)
  68. defer func() {
  69. log.Release("+++++++++++++++++++++++++++++++")
  70. log.Release("")
  71. }()
  72. var userId int
  73. var err error
  74. if userId, err = strconv.Atoi(param); err != nil {
  75. log.Release("atoi error %v", err)
  76. return
  77. }
  78. si := m.getUserGrowthTerms(userId)
  79. if si == nil {
  80. log.Release("user %d not exist", userId)
  81. return
  82. }
  83. d, _ := json.Marshal(si)
  84. log.Release(string(d))
  85. }
  86. // 清理数据
  87. func (m *battlepass_manager) seasonEnd() {
  88. log.Release("battlepass_manager.seasonEnd")
  89. m.um.clear()
  90. }
  91. func (m *battlepass_manager) seasonStart(seasonId int) {
  92. log.Release("battlepass_manager.seasonStart %d", seasonId)
  93. m.um.clear()
  94. m.um.SeasonId = seasonId
  95. }