gme.go 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. package grave_master
  2. import (
  3. "errors"
  4. "gadmin/internal/admin/gm_rpc/rpc_share"
  5. "leafstalk/conf"
  6. "leafstalk/covenant/msg"
  7. "leafstalk/log"
  8. "leafstalk/module"
  9. "leafstalk/module/handler"
  10. "leafstalk/router/json"
  11. "reflect"
  12. "github.com/sirupsen/logrus"
  13. )
  14. type Module struct {
  15. *module.Skeleton
  16. config *conf.Config
  17. Processor *json.Processor
  18. }
  19. var (
  20. skeleton *module.Skeleton
  21. )
  22. // NewModule 构造
  23. func NewModule(processor *json.Processor, config *conf.Config) *Module {
  24. mod := new(Module)
  25. mod.config = config
  26. //构造一个数据处理模块
  27. mod.Skeleton = module.NewSkeleton(config)
  28. mod.Processor = processor
  29. skeleton = mod.Skeleton
  30. return mod
  31. }
  32. // GetHandlerServer 获取
  33. func (m *Module) GetHandlerServer() *handler.Server {
  34. return m.HandlerServer
  35. }
  36. // OnInit 1
  37. func (m *Module) OnInit() {
  38. m.handleMsg(&msg.ResponseGmPlayer{}, handleGmPlayer)
  39. m.handleMsg(&msg.ResponseGmAddExp{}, handleGmAddExpResp)
  40. m.handleMsg(&msg.ResponseGmAddStama{}, handleGmAddStaminaResp)
  41. m.handleMsg(&msg.ResponseGmUpdateRole{}, handleGmUpdateRoleResp)
  42. m.handleMsg(&msg.ResponseGmAddMaterial{}, handleGmAddMaterialResp)
  43. m.handleMsg(&msg.ResponseGmUpdateChapter{}, handleGmUpdateChapterResp)
  44. m.handleMsg(&msg.ResponseGmUpdateTalent{}, handleGmUpdateTalentResp)
  45. m.handleMsg(&msg.ResponseGmPlacard{}, handlerGmPlacardResp)
  46. m.handleMsg(&msg.ResponseGmUpdateElRank{}, handlerGmUpdateElRankResp)
  47. m.handleMsg(&msg.ResponseGmQueryModelStart{}, handlerGmQueryModelStart)
  48. m.handleMsg(&msg.ResponseGmGetGuide{}, handlerGmGetGuide)
  49. m.handleMsg(&msg.ResponseGmSetGuide{}, handlerGmSetGuide)
  50. m.handleMsg(&msg.ResponseGmDelRank{}, handlerGmDelRank)
  51. m.handleMsg(&msg.ResponseGmQueryEndlessRank{}, handlerGmQueryEndlessRank)
  52. m.handleMsg(&msg.ResponseGMLetter{}, handlerGMLetter)
  53. m.handleMsg(&msg.RedeemGoodsIs{}, handlerRedeemGoodsIs)
  54. //m.Skeleton.RegisterChanRPC("BuyGoodsStatics", handleBuyGoodsStatics)
  55. //m.Skeleton.RegisterChanRPC("FreeGoodsStatics", handleFreeGoodsStatics)
  56. //m.Skeleton.RegisterChanRPC("VideoGiftStatics", handleVideoGiftStatics)
  57. }
  58. // OnDestroy 1
  59. func (m *Module) OnDestroy() {
  60. //GetLogicApp().Destory()
  61. }
  62. // handleMsg 消息结构体注册处理函数
  63. func (m *Module) handleMsg(msg interface{}, h interface{}) {
  64. //设置处理函数
  65. m.RegisterChanRPC(reflect.TypeOf(msg), h)
  66. //消息路由目标是本模块
  67. m.Processor.SetRouter(msg, m.HandlerServer)
  68. }
  69. func (m *Module) handleRpcMsg(msg interface{}, h interface{}) error {
  70. msgType := reflect.TypeOf(msg)
  71. if msgType == nil || msgType.Kind() != reflect.Ptr {
  72. return errors.New("json message pointer required")
  73. }
  74. msgID := msgType.Elem().Name()
  75. m.Skeleton.RegisterChanRPC(msgID, h)
  76. return nil
  77. }
  78. func handleGmPlayer(args []interface{}) {
  79. //log.Infoln("handleResponseQueryPlayer", args[0])
  80. resp := args[0].(*msg.ResponseGmPlayer)
  81. logrus.Infoln(resp.MsgId)
  82. rpc_share.LogChan <- rpc_share.LogMsg{
  83. MsgID: resp.MsgId,
  84. Data: resp,
  85. }
  86. }
  87. func handleGmAddExpResp(args []interface{}) {
  88. //log.Infoln("handleResponseQueryPlayer", args[0])
  89. resp := args[0].(*msg.ResponseGmAddExp)
  90. logrus.Infoln(resp.MsgId)
  91. rpc_share.LogChan <- rpc_share.LogMsg{
  92. MsgID: resp.MsgId,
  93. Data: resp,
  94. }
  95. }
  96. func handleGmAddStaminaResp(args []interface{}) {
  97. //log.Infoln("handleResponseQueryPlayer", args[0])
  98. resp := args[0].(*msg.ResponseGmAddStama)
  99. log.Infoln(resp.MsgId)
  100. rpc_share.LogChan <- rpc_share.LogMsg{
  101. MsgID: resp.MsgId,
  102. Data: resp,
  103. }
  104. }
  105. func handleGmUpdateRoleResp(args []interface{}) {
  106. //log.Infoln("handleResponseQueryPlayer", args[0])
  107. resp := args[0].(*msg.ResponseGmUpdateRole)
  108. logrus.Infoln(resp.MsgId)
  109. rpc_share.LogChan <- rpc_share.LogMsg{
  110. MsgID: resp.MsgId,
  111. Data: resp,
  112. }
  113. }
  114. func handleGmAddMaterialResp(args []interface{}) {
  115. //log.Infoln("handleResponseQueryPlayer", args[0])
  116. resp := args[0].(*msg.ResponseGmAddMaterial)
  117. logrus.Infoln(resp.MsgId)
  118. rpc_share.LogChan <- rpc_share.LogMsg{
  119. MsgID: resp.MsgId,
  120. Data: resp,
  121. }
  122. }
  123. func handleGmUpdateTalentResp(args []interface{}) {
  124. //log.Infoln("handleResponseQueryPlayer", args[0])
  125. resp := args[0].(*msg.ResponseGmUpdateTalent)
  126. logrus.Infoln(resp.MsgId)
  127. rpc_share.LogChan <- rpc_share.LogMsg{
  128. MsgID: resp.MsgId,
  129. Data: resp,
  130. }
  131. }
  132. func handleGmUpdateChapterResp(args []interface{}) {
  133. //log.Infoln("handleResponseQueryPlayer", args[0])
  134. resp := args[0].(*msg.ResponseGmUpdateChapter)
  135. logrus.Infoln(resp.MsgId)
  136. rpc_share.LogChan <- rpc_share.LogMsg{
  137. MsgID: resp.MsgId,
  138. Data: resp,
  139. }
  140. }
  141. func handlerGmPlacardResp(args []interface{}) {
  142. //log.Infoln("handleResponseQueryPlayer", args[0])
  143. resp := args[0].(*msg.ResponseGmPlacard)
  144. logrus.Infoln(resp.MsgId)
  145. rpc_share.LogChan <- rpc_share.LogMsg{
  146. MsgID: resp.MsgId,
  147. Data: resp,
  148. }
  149. }
  150. func handlerGmUpdateElRankResp(args []interface{}) {
  151. //log.Infoln("handleResponseQueryPlayer", args[0])
  152. resp := args[0].(*msg.ResponseGmUpdateElRank)
  153. logrus.WithField("from", "handlerGmUpdateElRankResp").Infoln(resp.MsgId)
  154. rpc_share.LogChan <- rpc_share.LogMsg{
  155. MsgID: resp.MsgId,
  156. Data: resp,
  157. }
  158. }
  159. func handlerGmQueryModelStart(args []interface{}) {
  160. //log.Infoln("handleResponseQueryPlayer", args[0])
  161. resp := args[0].(*msg.ResponseGmQueryModelStart)
  162. logrus.WithField("from", "GmQueryModelStart").Infoln(resp.MsgId)
  163. rpc_share.LogChan <- rpc_share.LogMsg{
  164. MsgID: resp.MsgId,
  165. Data: resp,
  166. }
  167. }
  168. func handlerGmGetGuide(args []interface{}) {
  169. //log.Infoln("handleResponseQueryPlayer", args[0])
  170. resp := args[0].(*msg.ResponseGmGetGuide)
  171. logrus.WithField("from", "GmGetGuide").Infoln(resp.MsgId)
  172. rpc_share.LogChan <- rpc_share.LogMsg{
  173. MsgID: resp.MsgId,
  174. Data: resp,
  175. }
  176. }
  177. func handlerGmSetGuide(args []interface{}) {
  178. //log.Infoln("handleResponseQueryPlayer", args[0])
  179. resp := args[0].(*msg.ResponseGmSetGuide)
  180. logrus.WithField("from", "GmSetGuide").Infoln(resp.MsgId)
  181. rpc_share.LogChan <- rpc_share.LogMsg{
  182. MsgID: resp.MsgId,
  183. Data: resp,
  184. }
  185. }
  186. func handlerGmDelRank(args []interface{}) {
  187. resp := args[0].(*msg.ResponseGmDelRank)
  188. logrus.WithField("from", "GmDelRank").Infoln(resp.MsgId)
  189. rpc_share.LogChan <- rpc_share.LogMsg{
  190. MsgID: resp.MsgId,
  191. Data: resp,
  192. }
  193. }
  194. // func handlerGmModelStart(args []interface{}) {
  195. // //log.Infoln("handleResponseQueryPlayer", args[0])
  196. // resp := args[0].(*msg.ResponseGmModelStart)
  197. // logrus.WithField("from", "GmModelStart").Infoln(resp)
  198. // rpc_share.LogChan <- rpc_share.LogMsg{
  199. // MsgID: resp.MsgId,
  200. // Data: resp,
  201. // }
  202. // }
  203. func handlerGmQueryEndlessRank(args []interface{}) {
  204. //log.Infoln("handleResponseQueryPlayer", args[0])
  205. resp := args[0].(*msg.ResponseGmQueryEndlessRank)
  206. logrus.WithField("from", "GmQueryEndlessRank").Infoln(resp)
  207. rpc_share.LogChan <- rpc_share.LogMsg{
  208. MsgID: resp.MsgId,
  209. Data: resp,
  210. }
  211. }
  212. func handlerGMLetter(args []interface{}) {
  213. //log.Infoln("handleResponseQueryPlayer", args[0])
  214. resp := args[0].(*msg.ResponseGMLetter)
  215. logrus.WithField("from", "handlerGMLetter").Infoln(resp)
  216. rpc_share.LogChan <- rpc_share.LogMsg{
  217. MsgID: resp.MsgId,
  218. Data: resp,
  219. }
  220. }
  221. func handlerRedeemGoodsIs(args []interface{}) {
  222. //var request = args[0].(*msg.RedeemGoodsIs)
  223. //logrus.WithField("from", "grave_master handlerRedeemGoodsIs").Infof("request:%+v", request)
  224. //
  225. //exchange, err := service.Cdk.Exchange(context.TODO(), request)
  226. //if err != nil {
  227. // logrus.WithField("from", "grave_master handlerRedeemGoodsIs Exchange err ").Warnln(err)
  228. //}
  229. //
  230. //if err = gate.SendToWorld(request.PlayerId, &exchange); err != nil {
  231. // logrus.WithField("from", "grave_master handlerRedeemGoodsIs SendToWorld err ").Warnln(err)
  232. //}
  233. }