handler.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package handler
  2. import (
  3. "context"
  4. "fmt"
  5. "bet24.com/log"
  6. pb "bet24.com/servers/micros/userlabel/proto"
  7. )
  8. var instance *userLabel
  9. type userLabel struct {
  10. }
  11. func GetInstance() *userLabel {
  12. if instance == nil {
  13. instance = newHandler()
  14. }
  15. return instance
  16. }
  17. func newHandler() *userLabel {
  18. ret := new(userLabel)
  19. ret.ctor()
  20. return ret
  21. }
  22. func (g *userLabel) ctor() {
  23. newLabelMgr()
  24. }
  25. func Dump(cmd, param1, param2 string) {
  26. GetInstance().dump(cmd, param1, param2)
  27. }
  28. func (g *userLabel) dump(cmd, param1, param2 string) {
  29. switch cmd {
  30. case "config":
  31. mgr.dumpConfig()
  32. case "user":
  33. mgr.dumpUser(param1)
  34. default:
  35. log.Release("userLabel.Dump unhandled cmd %s", cmd)
  36. }
  37. }
  38. func (g *userLabel) 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. // 获取标签列表
  43. func (g *userLabel) GetLabel(ctx context.Context, req *pb.Request_GetLabel, rsp *pb.Response_GetLabel) error {
  44. rsp.Labels = mgr.getLabel(req.UserId, req.TypeId)
  45. return nil
  46. }
  47. // 触发事件
  48. func (g *userLabel) TriggerEvent(ctx context.Context, req *pb.Request_TriggerEvent, rsp *pb.Response) error {
  49. mgr.triggerEvent(req.UserId, req.TypeId, req.Scope)
  50. return nil
  51. }
  52. // 获取标签列表
  53. func (g *userLabel) GetListByLabelId(ctx context.Context, req *pb.Request_GetListByLabelId, rsp *pb.Response_GetListByLabelId) error {
  54. rsp.RecordCount, rsp.List = mgr.GetListByLabelId(req.LabelId, req.PageIndex, req.PageSize)
  55. return nil
  56. }
  57. // 获取标签配置简单信息
  58. func (g *userLabel) GetConfigSimpleInfo(ctx context.Context, req *pb.Request, rsp *pb.Response_GetConfigSimpleInfo) error {
  59. rsp.List = mgr.getConfigSimpleInfo()
  60. return nil
  61. }