TaskCompletedEvent.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Module\Task\Events;
  3. use Carbon\Carbon;
  4. /**
  5. * 任务完成事件
  6. *
  7. * 当用户完成任务时触发此事件
  8. */
  9. class TaskCompletedEvent
  10. {
  11. /**
  12. * 用户ID
  13. *
  14. * @var int
  15. */
  16. public int $userId;
  17. /**
  18. * 任务ID
  19. *
  20. * @var int
  21. */
  22. public int $taskId;
  23. /**
  24. * 任务名称
  25. *
  26. * @var string
  27. */
  28. public string $taskName;
  29. /**
  30. * 任务类型
  31. *
  32. * @var string
  33. */
  34. public string $taskType;
  35. /**
  36. * 完成时间
  37. *
  38. * @var Carbon
  39. */
  40. public Carbon $completedAt;
  41. /**
  42. * 任务奖励内容
  43. *
  44. * @var array
  45. */
  46. public array $rewards;
  47. /**
  48. * 创建一个新的事件实例
  49. *
  50. * @param int $userId 用户ID
  51. * @param int $taskId 任务ID
  52. * @param string $taskName 任务名称
  53. * @param string $taskType 任务类型
  54. * @param Carbon $completedAt 完成时间
  55. * @param array $rewards 任务奖励内容
  56. */
  57. public function __construct(
  58. int $userId,
  59. int $taskId,
  60. string $taskName,
  61. string $taskType,
  62. Carbon $completedAt,
  63. array $rewards
  64. ) {
  65. $this->userId = $userId;
  66. $this->taskId = $taskId;
  67. $this->taskName = $taskName;
  68. $this->taskType = $taskType;
  69. $this->completedAt = $completedAt;
  70. $this->rewards = $rewards;
  71. }
  72. }