| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace App\Module\SocialFarm\Enums;
- /**
- * 偷菜状态枚举
- *
- * 定义偷菜操作的各种状态
- */
- enum STEAL_STATUS: int
- {
- case SUCCESS = 1; // 偷菜成功
- case FAILED = 2; // 偷菜失败
- case PROTECTED = 3; // 受保护无法偷
- case NO_PERMISSION = 4; // 无权限偷菜
- case LIMIT_EXCEEDED = 5; // 超过次数限制
- case CROP_NOT_READY = 6; // 作物未成熟
- case ALREADY_STOLEN = 7; // 已被偷过
- /**
- * 获取状态描述
- */
- public function getDescription(): string
- {
- return match($this) {
- self::SUCCESS => '偷菜成功',
- self::FAILED => '偷菜失败',
- self::PROTECTED => '受保护无法偷菜',
- self::NO_PERMISSION => '无权限偷菜',
- self::LIMIT_EXCEEDED => '超过每日偷菜次数限制',
- self::CROP_NOT_READY => '作物未成熟',
- self::ALREADY_STOLEN => '作物已被偷过',
- };
- }
- /**
- * 获取状态颜色(用于前端显示)
- */
- public function getColor(): string
- {
- return match($this) {
- self::SUCCESS => 'green',
- self::FAILED => 'red',
- self::PROTECTED => 'orange',
- self::NO_PERMISSION => 'red',
- self::LIMIT_EXCEEDED => 'orange',
- self::CROP_NOT_READY => 'gray',
- self::ALREADY_STOLEN => 'gray',
- };
- }
- /**
- * 是否为成功状态
- */
- public function isSuccess(): bool
- {
- return $this === self::SUCCESS;
- }
- /**
- * 是否为失败状态
- */
- public function isFailed(): bool
- {
- return !$this->isSuccess();
- }
- /**
- * 获取所有状态选项(用于后台管理)
- */
- public static function getOptions(): array
- {
- return [
- self::SUCCESS->value => self::SUCCESS->getDescription(),
- self::FAILED->value => self::FAILED->getDescription(),
- self::PROTECTED->value => self::PROTECTED->getDescription(),
- self::NO_PERMISSION->value => self::NO_PERMISSION->getDescription(),
- self::LIMIT_EXCEEDED->value => self::LIMIT_EXCEEDED->getDescription(),
- self::CROP_NOT_READY->value => self::CROP_NOT_READY->getDescription(),
- self::ALREADY_STOLEN->value => self::ALREADY_STOLEN->getDescription(),
- ];
- }
- }
|