args[0] ?? 'user_id'; $userId = $data[$userIdKey] ?? null; if (!$userId) { $this->addError('用户ID不能为空'); return false; } // 从 args 获取升级配置的键名 $upgradeConfigKey = $this->args[1] ?? 'upgrade_config'; $upgradeConfig = $this->validation->$upgradeConfigKey ?? null; if (!$upgradeConfig) { $this->addError('升级配置不存在,请先验证升级路径'); return false; } try { // 检查消耗条件 $checkResult = ConsumeService::checkConsume($userId, $upgradeConfig->materials); if ($checkResult->error) { $this->addError($checkResult->message); return false; } return true; } catch (\Exception $e) { $this->addError('验证升级材料时发生错误: ' . $e->getMessage()); return false; } } }