ActivityServiceProvider.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Module\Activity\Providers;
  3. use Illuminate\Support\ServiceProvider;
  4. use Illuminate\Support\Facades\Event;
  5. /**
  6. * 活动模块服务提供者
  7. */
  8. class ActivityServiceProvider extends ServiceProvider
  9. {
  10. /**
  11. * 事件到监听器的映射
  12. *
  13. * @var array
  14. */
  15. protected $listen = [
  16. // 活动创建事件
  17. 'App\Module\Activity\Events\ActivityCreatedEvent' => [
  18. 'App\Module\Activity\Listeners\ActivityCreatedListener',
  19. ],
  20. // 活动状态变更事件
  21. 'App\Module\Activity\Events\ActivityStatusChangedEvent' => [
  22. 'App\Module\Activity\Listeners\ActivityStatusChangeListener',
  23. ],
  24. // 用户参与活动事件
  25. 'App\Module\Activity\Events\UserParticipatedEvent' => [
  26. 'App\Module\Activity\Listeners\UserParticipationListener',
  27. ],
  28. // 活动进度更新事件
  29. 'App\Module\Activity\Events\ActivityProgressUpdatedEvent' => [
  30. 'App\Module\Activity\Listeners\ActivityProgressListener',
  31. ],
  32. // 活动完成事件
  33. 'App\Module\Activity\Events\ActivityCompletedEvent' => [
  34. 'App\Module\Activity\Listeners\ActivityCompletedListener',
  35. ],
  36. // 活动奖励领取事件
  37. 'App\Module\Activity\Events\ActivityRewardClaimedEvent' => [
  38. 'App\Module\Activity\Listeners\RewardDistributionListener',
  39. ],
  40. // 签到记录事件
  41. 'App\Module\Activity\Events\SignInRecordedEvent' => [
  42. 'App\Module\Activity\Listeners\SignInRecordListener',
  43. ],
  44. ];
  45. /**
  46. * 注册服务
  47. */
  48. public function register()
  49. {
  50. }
  51. /**
  52. * 启动服务
  53. */
  54. public function boot()
  55. {
  56. // 注册事件监听器
  57. foreach ($this->listen as $event => $listeners) {
  58. foreach ($listeners as $listener) {
  59. Event::listen($event, $listener);
  60. }
  61. }
  62. }
  63. }