DataRange.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Modules\Permissions\Enums;
  3. use Catch\Enums\Enum;
  4. enum DataRange: int implements Enum
  5. {
  6. case All_Data = 1; // 全部数据
  7. case Personal_Choose = 2; // 自定义数据
  8. case Personal_Data = 3; // 本人数据
  9. case Department_Data = 4; // 部门数据
  10. case Department_DOWN_Data = 5; // 部门及以下数据
  11. public function value(): int
  12. {
  13. // TODO: Implement value() method.
  14. return match ($this) {
  15. self::All_Data => 1,
  16. self::Personal_Choose => 2,
  17. self::Personal_Data => 3,
  18. self::Department_Data => 4,
  19. self::Department_DOWN_Data => 5,
  20. };
  21. }
  22. public function name(): string
  23. {
  24. // TODO: Implement name() method.
  25. return match ($this) {
  26. self::All_Data => '全部数据',
  27. self::Personal_Choose => '自定义数据',
  28. self::Personal_Data => '本人数据',
  29. self::Department_Data => '部门数据',
  30. self::Department_DOWN_Data => '部门及以下数据',
  31. };
  32. }
  33. /**
  34. * assert value
  35. *
  36. * @param int $value
  37. * @return bool
  38. */
  39. public function assert(int $value): bool
  40. {
  41. return $this->value === $value;
  42. }
  43. }