addError('宠物不存在'); return false; } // 检查宠物状态 if ($pet->status !== PetStatus::NORMAL) { $this->addError('宠物当前状态(' . $pet->status->name . ')不允许升级'); return false; } // 获取当前等级配置 $currentLevelConfig = PetLevelConfig::where('level', $pet->level)->first(); if (!$currentLevelConfig) { $this->addError('宠物等级配置不存在'); return false; } // 获取下一级配置 $nextLevelConfig = PetLevelConfig::where('level', $pet->level + 1)->first(); if (!$nextLevelConfig) { $this->addError('宠物已达到最大等级(' . $pet->level . ')'); return false; } // 检查经验值是否足够 if ($pet->experience < $nextLevelConfig->exp_required) { $this->addError('经验值不足,无法升级,当前(' . $pet->experience . '),需要(' . $nextLevelConfig->exp_required . ')'); return false; } return true; } catch (\Exception $e) { $this->addError('验证过程发生错误: ' . $e->getMessage()); return false; } } }