sign_in.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/types"
  5. )
  6. var SignIn = &signInConfig{}
  7. func init() {
  8. _allList = append(_allList, SignIn)
  9. }
  10. type (
  11. SignInRow struct {
  12. PoolID int32 `json:"PoolID"` // 库ID
  13. Days int32 `json:"Days"` // 天数
  14. Rewards types.Assets `json:"Rewards"` // 奖励
  15. }
  16. signInConfig struct {
  17. baseConfig
  18. list []*SignInRow // all list
  19. poolIDListMaps map[int32][]*SignInRow // key:poolID
  20. poolIDDaysUniMaps map[int32]map[int32]*SignInRow // key:poolID, days
  21. }
  22. )
  23. func (p *signInConfig) Name() string {
  24. return "sign_in"
  25. }
  26. func (p *signInConfig) Init() {
  27. p.poolIDListMaps = map[int32][]*SignInRow{}
  28. p.poolIDDaysUniMaps = map[int32]map[int32]*SignInRow{}
  29. }
  30. func (p *signInConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  31. if reload && p.denyLoad {
  32. return 0, nil
  33. }
  34. var list []*SignInRow
  35. if err := DecodeData(maps, &list); err != nil {
  36. return 0, err
  37. }
  38. p.list = list
  39. poolIDListMaps := map[int32][]*SignInRow{}
  40. for _, row := range list {
  41. poolIDListMaps[row.PoolID] = append(poolIDListMaps[row.PoolID], row)
  42. }
  43. p.poolIDListMaps = poolIDListMaps
  44. poolIDDaysUniMaps := map[int32]map[int32]*SignInRow{}
  45. for _, row := range list {
  46. itemMap := poolIDDaysUniMaps[row.PoolID]
  47. if itemMap == nil {
  48. itemMap = map[int32]*SignInRow{}
  49. poolIDDaysUniMaps[row.PoolID] = itemMap
  50. }
  51. itemMap[row.Days] = row
  52. }
  53. p.poolIDDaysUniMaps = poolIDDaysUniMaps
  54. return len(list), nil
  55. }
  56. // func (p *signInConfig) OnAfterLoad(_ bool) {
  57. // }
  58. func (p *signInConfig) List() []*SignInRow {
  59. return p.list
  60. }
  61. func (p *signInConfig) ListByPoolID(poolID int32) ([]*SignInRow, bool) {
  62. value, found := p.poolIDListMaps[poolID]
  63. return value, found
  64. }
  65. func (p *signInConfig) ListContainPoolID(poolID int32) bool {
  66. _, found := p.poolIDListMaps[poolID]
  67. return found
  68. }
  69. func (p *signInConfig) GetByPoolIDDays(poolID int32, days int32) (*SignInRow, bool) {
  70. mapItem, found := p.poolIDDaysUniMaps[poolID]
  71. if !found {
  72. return nil, false
  73. }
  74. value, found := mapItem[days]
  75. return value, found
  76. }
  77. func (p *signInConfig) ContainPoolIDDays(poolID int32, days int32) bool {
  78. mapItem, found := p.poolIDDaysUniMaps[poolID]
  79. if !found {
  80. return false
  81. }
  82. _, found = mapItem[days]
  83. return found
  84. }