REWARD_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 REWARD_STATUS: int
  9. {
  10. use EnumCore, EnumToInt;
  11. /**
  12. * 未领取
  13. */
  14. case NOT_CLAIMED = 0;
  15. /**
  16. * 已领取
  17. */
  18. case CLAIMED = 1;
  19. /**
  20. * 已过期
  21. */
  22. case EXPIRED = 2;
  23. /**
  24. * 获取所有奖励状态
  25. *
  26. * @return array
  27. */
  28. public static function getAll(): array
  29. {
  30. return [
  31. self::NOT_CLAIMED->value => '未领取',
  32. self::CLAIMED->value => '已领取',
  33. self::EXPIRED->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. }