TaskServiceProvider.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Module\Task\Providers;
  3. use Illuminate\Support\ServiceProvider;
  4. use App\Module\Task\Events\TaskCompletedEvent;
  5. use App\Module\Task\Events\TaskRewardClaimedEvent;
  6. use App\Module\Task\Listeners\TaskCompletedListener;
  7. use App\Module\Task\Listeners\TaskRewardClaimedListener;
  8. use App\Module\Task\Commands\TaskResetCheckCommand;
  9. use App\Module\Task\Commands\CheckTaskProgressCommand;
  10. use App\Module\Task\Commands\CleanExpiredTasksCommand;
  11. use App\Module\Task\Commands\MigrateTaskRewardsToRewardGroups;
  12. /**
  13. * 任务模块服务提供者
  14. */
  15. class TaskServiceProvider extends ServiceProvider
  16. {
  17. /**
  18. * 应用程序的事件监听器映射
  19. *
  20. * @var array
  21. */
  22. protected $listen = [
  23. TaskCompletedEvent::class => [
  24. TaskCompletedListener::class,
  25. ],
  26. TaskRewardClaimedEvent::class => [
  27. TaskRewardClaimedListener::class,
  28. ],
  29. ];
  30. /**
  31. * 要注册的命令
  32. *
  33. * @var array
  34. */
  35. protected $commands = [
  36. TaskResetCheckCommand::class,
  37. CheckTaskProgressCommand::class,
  38. CleanExpiredTasksCommand::class,
  39. \App\Module\Task\Commands\GenerateTaskConfigCommand::class,
  40. MigrateTaskRewardsToRewardGroups::class
  41. ];
  42. /**
  43. * 注册服务
  44. *
  45. * @return void
  46. */
  47. public function register(): void
  48. {
  49. // 注册服务...
  50. }
  51. /**
  52. * 引导服务
  53. *
  54. * @return void
  55. */
  56. public function boot(): void
  57. {
  58. // 注册事件监听器
  59. foreach ($this->listen as $event => $listeners) {
  60. foreach ($listeners as $listener) {
  61. $this->app['events']->listen($event, $listener);
  62. }
  63. }
  64. // 注册命令
  65. if ($this->app->runningInConsole()) {
  66. $this->commands($this->commands);
  67. }
  68. }
  69. }