handler.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package handler
  2. import (
  3. "context"
  4. "fmt"
  5. "bet24.com/log"
  6. pb "bet24.com/servers/micros/badge/proto"
  7. )
  8. var instance *badge
  9. type badge struct {
  10. }
  11. func GetInstance() *badge {
  12. if instance == nil {
  13. instance = newHandler()
  14. }
  15. return instance
  16. }
  17. func newHandler() *badge {
  18. ret := new(badge)
  19. ret.ctor()
  20. return ret
  21. }
  22. func (g *badge) ctor() {
  23. newBadgeMgr()
  24. }
  25. func Dump(cmd, param1, param2 string) {
  26. GetInstance().dump(cmd, param1, param2)
  27. }
  28. func (g *badge) dump(cmd, param1, param2 string) {
  29. switch cmd {
  30. case "config":
  31. mgr.dumpSys()
  32. case "user":
  33. mgr.dumpUser(param1)
  34. default:
  35. log.Release("badge.Dump unhandled cmd %s", cmd)
  36. }
  37. }
  38. func (g *badge) SayHello(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  39. rsp.Data = fmt.Sprintf("Hello from %s:%s", pb.ServiceName, req.Name)
  40. return nil
  41. }
  42. func (g *badge) GetSysBadgeList(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  43. rsp.Data = mgr.getSysBadgeList()
  44. return nil
  45. }
  46. func (g *badge) GetBadgeWearAndShow(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  47. rsp.Badges = mgr.getBadgeWearAndShow(req.UserId)
  48. return nil
  49. }
  50. func (g *badge) GetUserBadgeList(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  51. rsp.Data = mgr.getUserBadgeList(req.UserId)
  52. return nil
  53. }
  54. func (g *badge) WearBadge(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  55. rsp.Data = mgr.wearBadge(req.UserId, req.BadgeId, req.Position)
  56. return nil
  57. }
  58. func (g *badge) DoAction(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  59. mgr.doAction(req.UserId, req.Action, req.Progress, req.Param)
  60. return nil
  61. }