handler.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package handler
  2. import (
  3. "bet24.com/log"
  4. "bet24.com/servers/micros/slotsservice/handler/slotpanda"
  5. pb "bet24.com/servers/micros/slotsservice/proto"
  6. "context"
  7. "fmt"
  8. )
  9. var instance *Handler
  10. func GetInstance() *Handler {
  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() *Handler {
  20. ret := new(Handler)
  21. ret.ctor()
  22. return ret
  23. }
  24. type Handler struct{}
  25. func (h *Handler) ctor() {
  26. slotpanda.Run()
  27. }
  28. func (d *Handler) dump(cmd, param1, param2 string) {
  29. switch cmd {
  30. case slotpanda.GAME_NAME:
  31. slotpanda.Dump(param1, param2)
  32. default:
  33. log.Release("Handler.Dump unhandled cmd %s", cmd)
  34. }
  35. }
  36. func (h *Handler) SayHello(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  37. rsp.Data = fmt.Sprintf("Hello from %s:%s", pb.ServiceName, req.GameName)
  38. return nil
  39. }
  40. func (h *Handler) GetSlotsConfig(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  41. rsp.Data = GetSlotConfig(req.GameName, req.UserId)
  42. return nil
  43. }
  44. func (h *Handler) Spin(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  45. rsp.Success, rsp.Amount, rsp.Data = Spin(req.GameName, req.UserId, req.Amount, req.IsChip, req.Extra)
  46. return nil
  47. }