PARTICIPATION_STATUS.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Module\Activity\Enums;
  3. use UCore\Enum\EnumCore;
  4. use UCore\Enum\EnumToInt;
  5. /**
  6. * 参与状态枚举
  7. */
  8. enum PARTICIPATION_STATUS: int
  9. {
  10. use EnumCore, EnumToInt;
  11. /**
  12. * 进行中
  13. */
  14. case IN_PROGRESS = 0;
  15. /**
  16. * 已完成
  17. */
  18. case COMPLETED = 1;
  19. /**
  20. * 已失败
  21. */
  22. case FAILED = 2;
  23. /**
  24. * 获取所有参与状态
  25. *
  26. * @return array
  27. */
  28. public static function getAll(): array
  29. {
  30. return [
  31. self::IN_PROGRESS->value => '进行中',
  32. self::COMPLETED->value => '已完成',
  33. self::FAILED->value => '已失败',
  34. ];
  35. }
  36. /**
  37. * 获取参与状态名称
  38. *
  39. * @param int $status
  40. * @return string
  41. */
  42. public static function getName(int $status): string
  43. {
  44. return self::getAll()[$status] ?? '未知状态';
  45. }
  46. /**
  47. * 检查参与状态是否有效
  48. *
  49. * @param int $status
  50. * @return bool
  51. */
  52. public static function isValid(int $status): bool
  53. {
  54. return isset(self::getAll()[$status]);
  55. }
  56. }