area_server.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. var AreaServer = &areaServerConfig{}
  4. func init() {
  5. _allList = append(_allList, AreaServer)
  6. }
  7. type (
  8. AreaServerRow struct {
  9. AreaID int32 `json:"AreaID"` // 大区ID
  10. ServerID int32 `json:"ServerID"` // 服务器ID
  11. ServerName string `json:"ServerName"` // 区服名
  12. Status int32 `json:"Status"` // 开服状态
  13. MergedServerID int32 `json:"MergedServerID"` // 合服ID
  14. }
  15. areaServerConfig struct {
  16. baseConfig
  17. list []*AreaServerRow // all list
  18. areaIDListMaps map[int32][]*AreaServerRow // key:areaID
  19. areaIDServerIDUniMaps map[int32]map[int32]*AreaServerRow // key:areaID, serverID
  20. }
  21. )
  22. func (p *areaServerConfig) Name() string {
  23. return "area_server"
  24. }
  25. func (p *areaServerConfig) Init() {
  26. p.areaIDListMaps = map[int32][]*AreaServerRow{}
  27. p.areaIDServerIDUniMaps = map[int32]map[int32]*AreaServerRow{}
  28. }
  29. func (p *areaServerConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  30. if reload && p.denyLoad {
  31. return 0, nil
  32. }
  33. var list []*AreaServerRow
  34. if err := DecodeData(maps, &list); err != nil {
  35. return 0, err
  36. }
  37. p.list = list
  38. areaIDListMaps := map[int32][]*AreaServerRow{}
  39. for _, row := range list {
  40. areaIDListMaps[row.AreaID] = append(areaIDListMaps[row.AreaID], row)
  41. }
  42. p.areaIDListMaps = areaIDListMaps
  43. areaIDServerIDUniMaps := map[int32]map[int32]*AreaServerRow{}
  44. for _, row := range list {
  45. itemMap := areaIDServerIDUniMaps[row.AreaID]
  46. if itemMap == nil {
  47. itemMap = map[int32]*AreaServerRow{}
  48. areaIDServerIDUniMaps[row.AreaID] = itemMap
  49. }
  50. itemMap[row.ServerID] = row
  51. }
  52. p.areaIDServerIDUniMaps = areaIDServerIDUniMaps
  53. return len(list), nil
  54. }
  55. // func (p *areaServerConfig) OnAfterLoad(_ bool) {
  56. // }
  57. func (p *areaServerConfig) List() []*AreaServerRow {
  58. return p.list
  59. }
  60. func (p *areaServerConfig) ListByAreaID(areaID int32) ([]*AreaServerRow, bool) {
  61. value, found := p.areaIDListMaps[areaID]
  62. return value, found
  63. }
  64. func (p *areaServerConfig) ListContainAreaID(areaID int32) bool {
  65. _, found := p.areaIDListMaps[areaID]
  66. return found
  67. }
  68. func (p *areaServerConfig) GetByAreaIDServerID(areaID int32, serverID int32) (*AreaServerRow, bool) {
  69. mapItem, found := p.areaIDServerIDUniMaps[areaID]
  70. if !found {
  71. return nil, false
  72. }
  73. value, found := mapItem[serverID]
  74. return value, found
  75. }
  76. func (p *areaServerConfig) ContainAreaIDServerID(areaID int32, serverID int32) bool {
  77. mapItem, found := p.areaIDServerIDUniMaps[areaID]
  78. if !found {
  79. return false
  80. }
  81. _, found = mapItem[serverID]
  82. return found
  83. }