ai-chore(config): 调整流程配置及改进测试代码

- 将 FLOW_USE_CUSTOM_PROCESS 从 true 改为 false,禁用自定义流程
- 在 BlockTest 测试用例中改用 setBlockMode 方法设置阻断模式
- 设置统一的错误处理,将错误转为异常抛出
- 重命名 BlockTest 测试文件路径,优化测试组织结构
- 更新 IDE php include paths,调整依赖包引用顺序
- 删除无用的 tests/flow/Test.php 测试文件
- 微调 start.php、webman、windows.php 配置或代码模块
This commit is contained in:
zimoyin
2026-03-11 13:48:40 +08:00
parent 6c874221ad
commit f2ff4ae123
42 changed files with 246 additions and 158 deletions
+18 -4
View File
@@ -5,9 +5,9 @@ namespace tests\flow;
use app\flow\config\ProcessConfig;
use app\flow\context\ProcessContext;
use app\flow\ProcessEngine;
use app\flow\vo\EndoscopeInfo;
use app\flow\vo\OperatorInfo;
use app\flow\vo\ReaderInfo;
use app\flow\context\bean\EndoscopeInfo;
use app\flow\context\bean\OperatorInfo;
use app\flow\context\bean\ReaderInfo;
use app\utils\Logger;
/**
@@ -166,6 +166,11 @@ class VirtualityFlowProcessor
$builder->currentStep($currentState->getCurrentStep())
->batchNo($currentState->getBatchNo())
->processType($currentState->getProcessType());
// 设置 previousAction:上一步骤名称就是当前状态的 currentStep
if (!empty($currentState->getCurrentStep())) {
$builder->previousAction($currentState->getCurrentStep(), $currentState->getBatchNo());
}
} else {
// 新流程
$builder->newProcess();
@@ -185,6 +190,14 @@ class VirtualityFlowProcessor
// 执行流程
$result = $this->engine->execute($context);
// 确保 previousAction 在结果中正确设置
// 如果执行成功且有上一步骤信息,确保 previousAction 被保留
if ($result->isSuccess() && $context->getPreviousAction() !== null && $result->getPreviousAction() === null) {
$result = $result->builder()
->withPreviousAction($context->getPreviousAction())
->build();
}
// 保存状态
$this->endoscopeStates[$endoscopeData['id']] = $result;
$this->history[] = $result;
@@ -214,8 +227,9 @@ class VirtualityFlowProcessor
Logger::info("当前流程:{}", [$result->getProcessType()]);
Logger::info("当前批次号:{}", [$result->getBatchNo()]);
Logger::info("当前步骤:{}", [$result->getCurrentStep()]);
Logger::info("上一个步骤类型:{}", [$result->getPreviousAction()->action_type??"null"]);
Logger::info("上一个步骤类型:{}", [$result->getPreviousAction()->action_type_name?? "null"]);
Logger::info("上一个步骤:{}", [$result->getPreviousAction()->process_name??"null"]);
Logger::info("时长:{}", [$result->getDuration()?? "null"]);
Logger::info("当前语音:{$result->getFullVoice()}\n");
return $result;
}