'待处理', self::PROCESSING => '处理中', self::COMPLETED => '已完成', self::FAILED => '已失败', self::CANCELLED => '已取消', }; } /** * 获取状态描述 * * @return string 状态描述 */ public function getDescription(): string { return match($this) { self::PENDING => '操作已提交,等待处理', self::PROCESSING => '操作正在处理中', self::COMPLETED => '操作已成功完成', self::FAILED => '操作处理失败', self::CANCELLED => '操作已被取消', }; } /** * 判断是否为最终状态 * * @return bool 是否为最终状态 */ public function isFinalStatus(): bool { return match($this) { self::COMPLETED, self::FAILED, self::CANCELLED => true, default => false, }; } /** * 获取所有状态 * * @return array 所有状态数组 */ public static function getAllStatuses(): array { return [ self::PENDING->value => self::PENDING->getStatusName(), self::PROCESSING->value => self::PROCESSING->getStatusName(), self::COMPLETED->value => self::COMPLETED->getStatusName(), self::FAILED->value => self::FAILED->getStatusName(), self::CANCELLED->value => self::CANCELLED->getStatusName(), ]; } }