main_handler.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package handler
  2. import (
  3. "bet24.com/log"
  4. "bet24.com/servers/micros/ladderservice/handler/ladder"
  5. pb "bet24.com/servers/micros/ladderservice/proto"
  6. "context"
  7. "fmt"
  8. )
  9. var instance *MainHandler
  10. func GetInstance() *MainHandler {
  11. if instance == nil {
  12. instance = newHandler()
  13. }
  14. return instance
  15. }
  16. func Dump(cmd, param1, param2 string) {
  17. GetInstance().dump(cmd, param1, param2)
  18. }
  19. func newHandler() *MainHandler {
  20. ret := new(MainHandler)
  21. ret.ctor()
  22. return ret
  23. }
  24. type MainHandler struct{}
  25. func (h *MainHandler) ctor() {
  26. ladder.Run()
  27. }
  28. func (d *MainHandler) dump(cmd, param1, param2 string) {
  29. switch cmd {
  30. case "ladder":
  31. ladder.Dump(param1, param2)
  32. default:
  33. log.Release("ladderservice.MainHandler.dump unhandled cmd")
  34. }
  35. }
  36. func (h *MainHandler) SayHello(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  37. rsp.Data = fmt.Sprintf("Hello from %s:%s", pb.ServiceName, req.Name)
  38. return nil
  39. }
  40. func (h *MainHandler) GetSystemLadderInfo(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  41. rsp.Data = ladder.GetSystemLadderInfo()
  42. return nil
  43. }
  44. func (h *MainHandler) GetUserLadderInfo(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  45. rsp.UL = ladder.GetUserLadderInfo(req.UserId)
  46. return nil
  47. }
  48. func (h *MainHandler) GetUserConsecutiveWinCount(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  49. rsp.Value = ladder.GetUserConsecutiveWinCount(req.UserId, req.GameId)
  50. return nil
  51. }
  52. func (h *MainHandler) UseConsecutiveCard(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  53. rsp.Success = ladder.UseConsecutiveCard(req.UserId, req.GameId)
  54. return nil
  55. }
  56. func (h *MainHandler) RegisterLadderRoom(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  57. ladder.RegisterLadderRoom(req.GameRoomInfo)
  58. return nil
  59. }
  60. func (h *MainHandler) DeregisterLadderRoom(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  61. ladder.DeregisterLadderRoom(req.ServerAddr)
  62. return nil
  63. }
  64. func (h *MainHandler) GetLadderRoomList(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  65. rsp.Data = ladder.GetLadderRoomList()
  66. return nil
  67. }
  68. func (h *MainHandler) AddUserLadderScore(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  69. rsp.Value, rsp.Success = ladder.AddUserScore(req.UserId, req.GameId, req.Score, req.RoomName)
  70. return nil
  71. }
  72. func (h *MainHandler) GetUserSettlementRecord(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  73. rsp.Settlement = ladder.GetSettlementRecord(req.UserId)
  74. return nil
  75. }
  76. func (h *MainHandler) GetUserHistoricalRecord(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  77. rsp.Settlement.Records = ladder.GetHistoricalRecord(req.UserId)
  78. return nil
  79. }
  80. func (h *MainHandler) GetLadderRoomAdditionalPercent(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  81. rsp.Value = ladder.GetLadderRoomAdditionalPercent(req.GameId, req.Name)
  82. return nil
  83. }