gmweb_model.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package model
  2. import (
  3. "rocommon"
  4. "rocommon/service"
  5. "rocommon/util"
  6. "roserver/baseserver"
  7. "roserver/baseserver/model"
  8. "runtime/debug"
  9. "sync"
  10. )
  11. var (
  12. updateList []interface{}
  13. httpParamMutex sync.RWMutex
  14. HttpNodeParam *baseserver.ServiceParam
  15. mailUpdateMag *MailUpdateMag
  16. chatUpdateMag *ChatUpdateMag
  17. )
  18. type GiftContent struct {
  19. ItemId string `json:"typeId"`
  20. ItemCount string `json:"amount"`
  21. }
  22. type GiftSt struct {
  23. Error int `json:"error"`
  24. Msg string `json:"msg"`
  25. Content []GiftContent `json:"content"`
  26. }
  27. type WebGMUpdate struct {
  28. rocommon.UpdateModule //eventqueue.go
  29. }
  30. func (this *WebGMUpdate) Init() {
  31. mailUpdateMag = newMailUpdateMag()
  32. chatUpdateMag = newChatUpdateMag()
  33. updateList = append(updateList, mailUpdateMag)
  34. updateList = append(updateList, chatUpdateMag)
  35. }
  36. func (this *WebGMUpdate) Update(ms uint64) {
  37. //对管理器进行更新操作
  38. for _, data := range updateList {
  39. data.(rocommon.UpdateLogic).Update(ms)
  40. }
  41. }
  42. func GetMailUpdateMag() *MailUpdateMag {
  43. return mailUpdateMag
  44. }
  45. func GetChatUpdateMag() *ChatUpdateMag {
  46. return chatUpdateMag
  47. }
  48. func GetHttpNodeParam() baseserver.ServiceParam {
  49. httpParamMutex.RLock()
  50. defer httpParamMutex.RUnlock()
  51. return *HttpNodeParam
  52. }
  53. func SetHttpNodeParam(param *baseserver.ServiceParam) {
  54. httpParamMutex.Lock()
  55. defer httpParamMutex.Unlock()
  56. HttpNodeParam = param
  57. }
  58. func ConfigInit() {
  59. defer func() {
  60. if err := recover(); err != nil {
  61. util.InfoF("Stack---::%v\n%s\n", err, string(debug.Stack()))
  62. panic(nil)
  63. }
  64. }()
  65. sConfig := service.GetServiceConfig()
  66. model.BaseConfigInit(sConfig)
  67. util.InfoF("config load success!!!")
  68. }