args[0] ?? 'user_id'; $quantityKey = $this->args[1] ?? 'quantity'; $recipeKey = $this->args[2] ?? 'recipe'; $userId = $data[$userIdKey] ?? null; $quantity = $data[$quantityKey] ?? 1; $recipe = $this->validation->$recipeKey ?? null; if (!$userId || !$recipe) { $this->addError('验证合成消耗时缺少必要参数'); return false; } // 检查配方是否有消耗组 if (!$recipe->consume_group_id) { $this->addError('配方未配置消耗组'); return false; } try { // 使用消耗组服务检查消耗条件 $checkResult = ConsumeService::checkConsume($userId, $recipe->consume_group_id, $quantity); if (!$checkResult->success) { $this->addError($checkResult->message); return false; } return true; } catch (\Exception $e) { $this->addError('验证合成消耗时发生错误: ' . $e->getMessage()); return false; } } }