msg.go 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package msg
  2. import (
  3. "rocommon"
  4. "rocommon/service"
  5. "rocommon/util"
  6. "roserver/baseserver"
  7. "roserver/baseserver/model"
  8. gmmodel "roserver/gmweb/model"
  9. "roserver/serverproto"
  10. "runtime/debug"
  11. "strconv"
  12. )
  13. //other service
  14. func init() {
  15. //serverproto.Handle_GMWEB_SSWebGMAddMailAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  16. // msg := ev.Msg().(*serverproto.SSWebGMAddMailAck)
  17. // util.InfoF("SSWebGMAddMailAck msgid=%v", msg)
  18. //
  19. // model2.GetMailUpdateMag().AttachMail2Update()
  20. //})
  21. serverproto.Handle_GMWEB_CSGiftRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  22. msg := ev.Msg().(*serverproto.CSGiftRewardReq)
  23. util.InfoF("uid=%v CSGiftRewardReq msg=%v", msg.Uuid, msg)
  24. //model2.GetMailUpdateMag().AttachMail2Update()
  25. uuid := msg.Uuid
  26. uidStr := strconv.FormatUint(uuid, 10)
  27. zoneStr := strconv.Itoa(service.GetServiceConfig().Node.Zone)
  28. urlPath := "?code=" + msg.GiftCode + "&uid=" + uidStr + "&serverid=" + zoneStr
  29. go func() {
  30. defer func() {
  31. //打印奔溃信息
  32. if err := recover(); err != nil {
  33. util.InfoF("onError data=%v \n%s\n", err, string(debug.Stack()))
  34. }
  35. }()
  36. tmpRequest := &rocommon.HTTPRequest{}
  37. tmpRequest.ReqCodecName = "httpjson"
  38. //tmpRequest.ReqMsg = OpenIdServeNode{
  39. // ServerId: zoneId,
  40. // HeadId: headId,
  41. // Level: level, //默认1级
  42. // RecordTime: uint32(util.GetTimeSeconds()),
  43. //}
  44. tmpRequest.ResMsg = &gmmodel.GiftSt{}
  45. parm := gmmodel.GetHttpNodeParam()
  46. httpNode := baseserver.CreateHttpConnector(parm)
  47. err := httpNode.(rocommon.HTTPConnector).Request("GET", urlPath, tmpRequest)
  48. if err != nil {
  49. util.InfoF("uid=%v http Request err=%v", uidStr, err)
  50. ackMsg := &serverproto.SCGiftRewardAck{
  51. Error: int32(serverproto.ErrorCode_ERROR_GIFT_CODE_USE_FAIL),
  52. Uuid: uuid,
  53. }
  54. gmmodel.SendSocial(ackMsg)
  55. return
  56. }
  57. //error
  58. //1礼包吗已经使用
  59. //2礼包吗已经过期
  60. //3 没有找到礼包吗
  61. util.InfoF("uid=%v CSGiftRewardReq msg=%v res=%v", uidStr, msg, tmpRequest.ResMsg)
  62. ackMsg := &serverproto.SCGiftRewardAck{
  63. Error: int32(tmpRequest.ResMsg.(*gmmodel.GiftSt).Error),
  64. Uuid: uuid,
  65. }
  66. if 0 == ackMsg.Error {
  67. for _, data := range tmpRequest.ResMsg.(*gmmodel.GiftSt).Content {
  68. itemId, _ := model.Str2Num(data.ItemId)
  69. itemCount, _ := model.Str2Num(data.ItemCount)
  70. ackMsg.RewardList = append(ackMsg.RewardList, &serverproto.KeyValueType{
  71. Key: int32(itemId),
  72. Value: int32(itemCount),
  73. })
  74. }
  75. }
  76. gmmodel.SendSocial(ackMsg)
  77. }()
  78. })
  79. serverproto.Handle_GMWEB_SSWebGMChatMsgNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  80. msg := ev.Msg().(*serverproto.SSWebGMChatMsgNtf)
  81. util.InfoF("uid=%v SSWebGMChatMsgNtf msg=%v", msg.Uid, msg)
  82. gmmodel.GetChatUpdateMag().AddChatMsg(msg)
  83. })
  84. }