| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Module\Transfer\Enums;
- use UCore\Enum\EnumCore;
- use UCore\Enum\EnumExpression;
- use UCore\Enum\EnumToInt;
- /**
- * 划转订单状态枚举
- */
- enum TransferStatus: int
- {
- use EnumToInt, EnumCore, EnumExpression;
- /**
- * 已创建 - 订单已创建,等待处理
- */
- case CREATED = 1;
- /**
- * 处理中 - 正在处理中,等待回调
- */
- case PROCESSING = 20;
- /**
- * 已回调 - 回调成功,等待最终确认
- */
- case CALLBACK = 30;
- /**
- * 已完成 - 订单处理完成
- */
- case COMPLETED = 100;
- /**
- * 失败 - 订单处理失败
- */
- case FAILED = -1;
- /**
- * 获取状态描述
- */
- public function getDescription(): string
- {
- return match ($this) {
- self::CREATED => '已创建',
- self::PROCESSING => '处理中',
- self::CALLBACK => '已回调',
- self::COMPLETED => '已完成',
- self::FAILED => '失败',
- };
- }
- /**
- * 获取状态颜色(用于后台显示)
- */
- public function getColor(): string
- {
- return match ($this) {
- self::CREATED => 'info',
- self::PROCESSING => 'warning',
- self::CALLBACK => 'primary',
- self::COMPLETED => 'success',
- self::FAILED => 'danger',
- };
- }
- /**
- * 判断是否为最终状态
- */
- public function isFinal(): bool
- {
- return in_array($this, [self::COMPLETED, self::FAILED]);
- }
- /**
- * 判断是否可以重试
- */
- public function canRetry(): bool
- {
- return $this === self::FAILED;
- }
- }
|