task_handler.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package handler
  2. import (
  3. "bet24.com/log"
  4. pb "bet24.com/servers/micros/task/proto"
  5. robot "bet24.com/servers/micros/userservices/proto"
  6. "context"
  7. "fmt"
  8. )
  9. var instance *Task
  10. func GetInstance() *Task {
  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() *Task {
  20. ret := new(Task)
  21. ret.ctor()
  22. return ret
  23. }
  24. var mgr *taskmgr
  25. type Task struct {
  26. }
  27. func (h *Task) ctor() {
  28. mgr = newTaskMgr()
  29. }
  30. func (d *Task) dump(cmd, param1, param2 string) {
  31. //log.Debug("DbEngine.Dump %s,%s,%s", cmd, param1, param2)
  32. switch cmd {
  33. case "sys":
  34. mgr.dumpSys(param1)
  35. case "user":
  36. mgr.dumpUser(param1)
  37. default:
  38. log.Release("Task.Dump unhandled cmd %s", cmd)
  39. }
  40. }
  41. func (h *Task) SayHello(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  42. rsp.Data = fmt.Sprintf("Hello from %s:%s", pb.ServiceName, req.Name)
  43. return nil
  44. }
  45. func (h *Task) AddUser(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  46. mgr.onUserEnter(req.UserId)
  47. return nil
  48. }
  49. func (h *Task) RemoveUser(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  50. mgr.onUserExit(req.UserId)
  51. return nil
  52. }
  53. func (h *Task) GetUserTasks(ctx context.Context, req *pb.Request, rsp *pb.Response_Tasks) error {
  54. rsp.Tasks = mgr.getUserTasks(req.UserId)
  55. return nil
  56. }
  57. func (h *Task) GetSysTask(ctx context.Context, req *pb.Request_Task, rsp *pb.Response_Task) error {
  58. rsp.Task = mgr.getSysTask(req.TaskId)
  59. return nil
  60. }
  61. func (h *Task) GetSysTaskList(ctx context.Context, req *pb.Request, rsp *pb.Response_SysTasks) error {
  62. rsp.Tasks = mgr.getSysTaskList()
  63. return nil
  64. }
  65. func (h *Task) DoTaskAction(ctx context.Context, req *pb.Request_Action, rsp *pb.Response) error {
  66. if robot.IsRobot(req.UserId) {
  67. return nil
  68. }
  69. rsp.Success, rsp.TaskId = mgr.doTaskAction(req.UserId, req.Action, req.Progress, req.Param)
  70. return nil
  71. }
  72. func (h *Task) IsActionTaskActive(ctx context.Context, req *pb.Request_Action, rsp *pb.Response) error {
  73. if robot.IsRobot(req.UserId) {
  74. return nil
  75. }
  76. rsp.Success = mgr.isActionTaskActive(req.UserId, req.Action, req.Param)
  77. return nil
  78. }
  79. func (h *Task) RemoveTaskByAction(ctx context.Context, req *pb.Request_Action, rsp *pb.Response) error {
  80. mgr.removeTaskByAction(req.UserId, req.Action, req.Param)
  81. return nil
  82. }
  83. func (h *Task) AwardTask(ctx context.Context, req *pb.Request_Award, rsp *pb.Response) error {
  84. rsp.Success, rsp.Data = mgr.awardTask(req.UserId, req.TaskId)
  85. return nil
  86. }
  87. func (h *Task) AwardTaskWithItems(ctx context.Context, req *pb.Request_Award, rsp *pb.Response) error {
  88. rsp.Data = mgr.awardTaskWithItems(req.UserId, req.TaskId)
  89. return nil
  90. }
  91. func (h *Task) IsTriggerPreAddiction(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  92. rsp.Success = mgr.isTriggerPreAddiction(req.UserId)
  93. return nil
  94. }
  95. func (h *Task) RefreshTask(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  96. mgr.refreshTask(req.UserId)
  97. return nil
  98. }
  99. func (h *Task) GetTaskTipScene(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  100. rsp.Scene = mgr.getTaskTipScene(req.UserId)
  101. return nil
  102. }
  103. func (h *Task) AwardAllTask(ctx context.Context, req *pb.Request_Award, rsp *pb.Response) error {
  104. rsp.Items = mgr.awardAllTask(req.UserId)
  105. return nil
  106. }
  107. func (h *Task) CreateRandomTasksByScene(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  108. mgr.createRandomTasksByScene(req.UserId, req.Scene, req.Count, req.IsRefresh)
  109. return nil
  110. }
  111. func (h *Task) IsAllTaskFinished(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  112. rsp.Success = mgr.isAllTaskFinished(req.UserId, req.Scene)
  113. return nil
  114. }
  115. func (h *Task) CreateUserTasks(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  116. rsp.Success = mgr.createUserTasks(req.UserId, req.Tasks)
  117. return nil
  118. }
  119. func (h *Task) IsTasksFinished(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  120. rsp.Success = mgr.isTasksFinished(req.UserId, req.Tasks)
  121. return nil
  122. }
  123. func (h *Task) GetTasksRewards(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  124. rsp.Items = mgr.getTasksRewards(req.Tasks)
  125. return nil
  126. }
  127. func (h *Task) ClaimTaskRewards(ctx context.Context, req *pb.Request, rsp *pb.Response) error {
  128. rsp.Items = mgr.claimTaskRewards(req.UserId, req.Tasks)
  129. return nil
  130. }