qznn.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package qznn
  2. import (
  3. "encoding/json"
  4. "github.com/sirupsen/logrus"
  5. gameQZ "nn.daxia.dev/game/qznn"
  6. "nn.daxia.dev/handler/api"
  7. "nn.daxia.dev/nxd"
  8. )
  9. type ReadyReq struct {
  10. }
  11. type UnReadyReq struct {
  12. }
  13. type ChooseMasterReq struct {
  14. Mul int
  15. }
  16. type ChooseMulReq struct {
  17. Mul int
  18. }
  19. type OpenReq struct {
  20. }
  21. type ConnectReq struct {
  22. }
  23. type DisconnectReq struct {
  24. }
  25. func Ready(req api.PerformReq) error {
  26. var err error
  27. userModel := req.UserModel
  28. readyReq := ReadyReq{}
  29. err = json.Unmarshal(req.Msg, &readyReq)
  30. if err != nil {
  31. logrus.Error(err)
  32. return err
  33. }
  34. gameInstance := gameQZ.GetInstance()
  35. err = gameInstance.Ready(int32(userModel.ID))
  36. if err != nil {
  37. logrus.Error(err)
  38. nxd.FailedResponse(req.Once, uint32(userModel.ID), err.Error())
  39. return err
  40. }
  41. nxd.SuccessResponse(req.Once, uint32(userModel.ID), nil)
  42. return nil
  43. }
  44. func UnReady(req api.PerformReq) error {
  45. var err error
  46. userModel := req.UserModel
  47. unReadyReq := UnReadyReq{}
  48. err = json.Unmarshal(req.Msg, &unReadyReq)
  49. if err != nil {
  50. logrus.Error(err)
  51. return err
  52. }
  53. gameInstance := gameQZ.GetInstance()
  54. err = gameInstance.UnReady(int32(userModel.ID))
  55. if err != nil {
  56. logrus.Error(err)
  57. nxd.FailedResponse(req.Once, uint32(userModel.ID), err.Error())
  58. return err
  59. }
  60. nxd.SuccessResponse(req.Once, uint32(userModel.ID), nil)
  61. return nil
  62. }
  63. func ChooseMaster(req api.PerformReq) error {
  64. var err error
  65. userModel := req.UserModel
  66. chooseMasterReq := ChooseMasterReq{}
  67. err = json.Unmarshal(req.Msg, &chooseMasterReq)
  68. if err != nil {
  69. logrus.Error(err)
  70. return err
  71. }
  72. gameInstance := gameQZ.GetInstance()
  73. err = gameInstance.ChooseMaster(int32(userModel.ID), int32(chooseMasterReq.Mul))
  74. if err != nil {
  75. logrus.Error(err)
  76. nxd.FailedResponse(req.Once, uint32(userModel.ID), err.Error())
  77. return err
  78. }
  79. nxd.SuccessResponse(req.Once, uint32(userModel.ID), nil)
  80. return nil
  81. }
  82. func ChooseMul(req api.PerformReq) error {
  83. var err error
  84. userModel := req.UserModel
  85. chooseMulReq := ChooseMulReq{}
  86. err = json.Unmarshal(req.Msg, &chooseMulReq)
  87. if err != nil {
  88. logrus.Error(err)
  89. return err
  90. }
  91. gameInstance := gameQZ.GetInstance()
  92. err = gameInstance.ChooseMul(int32(userModel.ID), int32(chooseMulReq.Mul))
  93. if err != nil {
  94. logrus.Error(err)
  95. nxd.FailedResponse(req.Once, uint32(userModel.ID), err.Error())
  96. return err
  97. }
  98. nxd.SuccessResponse(req.Once, uint32(userModel.ID), nil)
  99. return nil
  100. }
  101. func Open(req api.PerformReq) error {
  102. var err error
  103. userModel := req.UserModel
  104. openReq := OpenReq{}
  105. err = json.Unmarshal(req.Msg, &openReq)
  106. if err != nil {
  107. logrus.Error(err)
  108. return err
  109. }
  110. gameInstance := gameQZ.GetInstance()
  111. err = gameInstance.OpenCard(int32(userModel.ID))
  112. if err != nil {
  113. logrus.Error(err)
  114. nxd.FailedResponse(req.Once, uint32(userModel.ID), err.Error())
  115. return err
  116. }
  117. nxd.SuccessResponse(req.Once, uint32(userModel.ID), nil)
  118. return nil
  119. }