ActivityServiceProvider.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace App\Module\Activity\Providers;
  3. use App\Module\Activity\Commands\CleanExpiredActivitiesCommand;
  4. use App\Module\Activity\Commands\UpdateActivityStatusCommand;
  5. use App\Module\Activity\Events\ActivityCompletedEvent;
  6. use App\Module\Activity\Events\ActivityCreatedEvent;
  7. use App\Module\Activity\Events\ActivityProgressUpdatedEvent;
  8. use App\Module\Activity\Events\ActivityRewardClaimedEvent;
  9. use App\Module\Activity\Events\ActivityStatusChangedEvent;
  10. use App\Module\Activity\Events\UserParticipatedEvent;
  11. use App\Module\Activity\Listeners\ActivityCompletedListener;
  12. use App\Module\Activity\Listeners\ActivityProgressListener;
  13. use App\Module\Activity\Listeners\ActivityStatusChangeListener;
  14. use App\Module\Activity\Listeners\RewardDistributionListener;
  15. use App\Module\Activity\Listeners\UserParticipationListener;
  16. use Illuminate\Support\Facades\Event;
  17. use Illuminate\Support\ServiceProvider;
  18. /**
  19. * 活动模块服务提供者
  20. */
  21. class ActivityServiceProvider extends ServiceProvider
  22. {
  23. /**
  24. * 要注册的命令
  25. *
  26. * @var array
  27. */
  28. protected $commands = [
  29. UpdateActivityStatusCommand::class,
  30. CleanExpiredActivitiesCommand::class,
  31. ];
  32. /**
  33. * 注册服务
  34. *
  35. * @return void
  36. */
  37. public function register()
  38. {
  39. // 注册命令
  40. $this->commands($this->commands);
  41. }
  42. /**
  43. * 启动服务
  44. *
  45. * @return void
  46. */
  47. public function boot()
  48. {
  49. // 注册事件监听器
  50. $this->registerEventListeners();
  51. }
  52. /**
  53. * 注册事件监听器
  54. *
  55. * @return void
  56. */
  57. protected function registerEventListeners()
  58. {
  59. // 活动状态变更事件
  60. Event::listen(
  61. ActivityStatusChangedEvent::class,
  62. ActivityStatusChangeListener::class
  63. );
  64. // 用户参与活动事件
  65. Event::listen(
  66. UserParticipatedEvent::class,
  67. UserParticipationListener::class
  68. );
  69. // 活动进度更新事件
  70. Event::listen(
  71. ActivityProgressUpdatedEvent::class,
  72. ActivityProgressListener::class
  73. );
  74. // 活动完成事件
  75. Event::listen(
  76. ActivityCompletedEvent::class,
  77. ActivityCompletedListener::class
  78. );
  79. // 活动奖励领取事件
  80. Event::listen(
  81. ActivityRewardClaimedEvent::class,
  82. RewardDistributionListener::class
  83. );
  84. }
  85. }