status: review_fix_completed created: 2026-07-02 拆分顺序:动作协议 → 动作执行 → 前端动作 → 选择器/主子表 → 流程回调 → 领域动作 SPI → 数量台账 → 提醒规则 → 验证归档 原则:每个任务可独立提交;所有平台能力必须通用;采购仓储只作为验收样例;查询 SQL 写 Mapper XML;内置数据
tenant_id=1;Flyway 脚本必须防重复。
| 阶段 | 目标 | 包含任务 | 交付结果 |
|---|---|---|---|
| Phase 1 | 动作底座 | Task 1-4 | 统一动作协议、执行服务、日志和按钮运行 |
| Phase 2 | 选择器与主子表 | Task 5-7 | 通用记录选择器、批量带入子表、服务端校验 |
| Phase 3 | 流程与触发器融合 | Task 8-9 | 流程结果和触发器统一复用动作引擎 |
| Phase 4 | 领域动作 SPI | Task 10 | 可插拔领域动作能力 |
| Phase 5 | 数量台账 | Task 11-13 | 通用数量余额、流水、锁定、转移 |
| Phase 6 | 提醒增强 | Task 14 | 分层提醒规则 |
| Phase 7 | 验证归档 | Task 15-16 | 测试、执行日志、审查准备 |
| Task | 阶段 | 名称 | 状态 | 优先级 |
|---|---|---|---|---|
| Task 1 | Phase 1 | 动作协议 DTO/VO 与执行日志表 | completed | P0 |
| Task 2 | Phase 1 | 通用动作执行服务 | completed | P0 |
| Task 3 | Phase 1 | 动作执行接口与权限 | completed | P0 |
| Task 4 | Phase 1 | 前端动作设计和运行态执行 | completed | P0 |
| Task 5 | Phase 2 | 通用记录选择器后端协议 | completed | P1 |
| Task 6 | Phase 2 | 通用记录选择器前端组件 | completed | P1 |
| Task 7 | Phase 2 | 主子表映射和行级合并增强 | completed | P1 |
| Task 8 | Phase 3 | 流程回调绑定动作 | completed | P0 |
| Task 9 | Phase 3 | 触发器动作迁移到动作引擎 | completed | P1 |
| Task 10 | Phase 4 | 领域动作 SPI | completed | P0 |
| Task 11 | Phase 5 | 通用数量台账数据模型 | completed | P0 |
| Task 12 | Phase 5 | 通用数量台账服务 | completed | P0 |
| Task 13 | Phase 5 | 数量台账接入动作步骤 | completed | P0 |
| Task 14 | Phase 6 | 分层提醒规则增强 | completed | P2 |
| Task 15 | Phase 7 | 自动化测试和构建验证 | completed | P0 |
| Task 16 | Phase 7 | SDD 日志、审查和归档准备 | completed | P0 |
| Review Fix | Review | 审查问题修复与回归验证 | completed | P0 |
目标: 定义通用动作执行输入、输出和执行日志,不绑定具体业务场景。
涉及文件:
forge-server/db/migration/V1.0.xx__add_business_action_execution_log.sql — 新增动作执行日志表和权限资源。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/main/java/com/mdframe/forge/plugin/generator/dto/businessapp/BusinessActionExecuteDTO.java — 新增动作执行请求 DTO。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/main/java/com/mdframe/forge/plugin/generator/dto/businessapp/BusinessActionStepDTO.java — 新增动作步骤 DTO。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/main/java/com/mdframe/forge/plugin/generator/vo/businessapp/BusinessActionExecuteResultVO.java — 新增动作执行结果 VO。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/main/java/com/mdframe/forge/plugin/generator/domain/entity/AiBusinessActionExecutionLog.java — 新增执行日志实体。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/main/java/com/mdframe/forge/plugin/generator/mapper/BusinessActionExecutionLogMapper.java — 新增 Mapper。forge-server/forge-framework/forge-plugin-parent/forge-plugin-generator/src/main/resources/mapper/BusinessActionExecutionLogMapper.xml — 新增日志分页查询 XML。关键签名:
public class BusinessActionExecuteDTO {
private String objectCode;
private String recordId;
private String actionCode;
private Map<String, Object> formData;
private Map<String, Object> context;
private String idempotencyKey;
}
public class BusinessActionStepDTO {
private String stepCode;
private String stepName;
private String stepType;
private Map<String, Object> stepConfig;
private Integer sortOrder;
private Boolean rollbackOnFailure;
}
验收标准:
ai:businessAction:execute 和 ai:businessAction:log。目标: 实现统一动作执行器,首期支持更新字段、创建记录、发起流程、发送消息四类白名单步骤。
涉及文件:
BusinessActionExecutionService.java — 新增动作执行编排服务。BusinessActionStepExecutor.java — 新增步骤执行接口。UpdateFieldActionStepExecutor.java — 新增更新字段步骤。CreateRecordActionStepExecutor.java — 新增创建记录步骤。StartFlowActionStepExecutor.java — 新增发起流程步骤。SendMessageActionStepExecutor.java — 新增发送消息步骤。BusinessObjectActionService.java — 新增按 objectCode + actionCode 解析动作配置方法。关键签名:
public BusinessActionExecuteResultVO execute(BusinessActionExecuteDTO dto);
public interface BusinessActionStepExecutor {
String supportType();
BusinessActionStepResult execute(BusinessActionExecutionContext context, BusinessActionStepDTO step);
}
验收标准:
UPDATE_FIELD 和 CREATE_RECORD 复用 DynamicCrudService 的内部写入方法。目标: 对外提供动作执行、动作预览和动作日志查询接口。
涉及文件:
BusinessActionExecutionController.java — 新增 REST Controller。BusinessPermissionService.java — 增加动作权限判定复用。business-app.js — 增加前端 API。关键签名:
@PostMapping("/execute")
@SaCheckPermission("ai:businessAction:execute")
public RespInfo<BusinessActionExecuteResultVO> execute(@RequestBody BusinessActionExecuteDTO dto) { }
@GetMapping("/logs")
@SaCheckPermission("ai:businessAction:log")
public RespInfo<Page<AiBusinessActionExecutionLog>> logs(BusinessActionLogQueryDTO query, PageQuery pageQuery) { }
验收标准:
RespInfo.success(data)。pageNum/pageSize。目标: 在对象动作设计器和运行态列表/详情按钮中支持 COMMAND 类型动作。
涉及文件:
forge-admin-ui/src/views/app-center/components/designer/BusinessActionDesigner.vue — 增加 COMMAND 动作类型、动作表单 Schema、步骤配置摘要。forge-admin-ui/src/views/app-center/components/designer/BusinessListDesigner.vue — 同步 COMMAND 到列表运行态 action。forge-admin-ui/src/components/ai-form/AiCrudPage.vue — 运行态执行 COMMAND,支持表单弹窗、确认、loading、成功刷新。forge-admin-ui/src/api/business-app.js — 增加动作执行 API。关键行为:
actionType=COMMAND 且存在 actionConfig.formSchema 时先打开动作弹窗。/ai/business/action/execute。successBehavior 执行刷新列表、刷新详情、关闭弹窗或返回。验收标准:
COMMAND 并执行。目标: 提供按业务对象运行配置查询选择器数据的通用接口。
涉及文件:
BusinessRecordSelectorController.java — 新增选择器接口。BusinessRecordSelectorService.java — 新增选择器查询服务。BusinessRecordSelectorQueryDTO.java — 查询请求。BusinessRecordSelectorResultVO.java — 查询结果。关键签名:
public BusinessRecordSelectorResultVO query(BusinessRecordSelectorQueryDTO dto, PageQuery pageQuery);
验收标准:
目标: 支持表单字段和子表行通过弹窗选择其他对象记录。
涉及文件:
forge-admin-ui/src/components/ai-form/AiRecordSelectorModal.vue — 新增选择器弹窗。forge-admin-ui/src/components/ai-form/record-selector-utils.js — 字段映射工具。forge-admin-ui/src/components/page-templates/ChildTableEditor.vue — 支持选择记录批量追加子表。BusinessFormDesigner.vue — 选择器配置入口。验收标准:
目标: 主子表运行态支持稳定行级更新和服务端校验。
涉及文件:
DynamicCrudService.java — 增加 merge 模式处理子表。ChildTableEditor.vue — 保留行 ID、支持 _deleted 标记。LowcodeRuntimeConfigBuilder.java — 输出子表保存模式配置。验收标准:
目标: 流程通过、驳回、取消后可以执行配置动作编码。
涉及文件:
BusinessFlowService.java — 流程结果处理后调用动作引擎。BusinessFlowBindingPanel.vue — 增加通过/驳回/取消动作选择。BusinessFlowAppConfigPanel.vue — 展示回调动作状态。验收标准:
目标: 新触发器统一配置动作编码,旧触发器配置兼容执行。
涉及文件:
BusinessTriggerExecutor.java — 新配置优先调用 BusinessActionExecutionService。TriggerActionConfigPanel.vue — 触发器动作配置支持选择动作编码。trigger.vue — 场景模板保留,但落到动作编码。验收标准:
CREATE_RECORD、UPDATE_FIELD 触发器仍能执行。目标: 为库存、资金、合同状态等高风险领域动作提供可插拔接口。
涉及文件:
BusinessDomainActionExecutor.java — 新增 SPI。BusinessDomainActionRegistry.java — 新增领域动作注册中心。DomainActionStepExecutor.java — 动作步骤接入领域动作。关键签名:
public interface BusinessDomainActionExecutor {
String actionType();
BusinessActionStepResult execute(BusinessActionExecutionContext context, Map<String, Object> config);
}
验收标准:
目标: 建立通用数量余额、流水和锁定表,不使用采购仓储命名。
涉及文件:
V1.0.xx__add_business_quantity_ledger.sqlAiBusinessQuantityBalance.javaAiBusinessQuantityLedger.javaAiBusinessQuantityLock.java验收标准:
idempotency_key 唯一约束。目标: 实现入账、锁定、释放、扣减、转移、幂等和防负数。
涉及文件:
BusinessQuantityLedgerService.javaBusinessQuantityOperationDTO.javaBusinessQuantityOperationResultVO.java关键签名:
public BusinessQuantityOperationResultVO inbound(BusinessQuantityOperationDTO dto);
public BusinessQuantityOperationResultVO lock(BusinessQuantityOperationDTO dto);
public BusinessQuantityOperationResultVO release(BusinessQuantityOperationDTO dto);
public BusinessQuantityOperationResultVO commit(BusinessQuantityOperationDTO dto);
public BusinessQuantityOperationResultVO transfer(BusinessQuantityOperationDTO dto);
验收标准:
目标: 动作引擎支持通过 DOMAIN_ACTION 调用数量台账。
涉及文件:
BusinessQuantityDomainActionExecutor.javaBusinessActionDesigner.vueBusinessActionExecutionService.java验收标准:
目标: 在现有定时触发器基础上支持金额/数量/日期分层提醒。
涉及文件:
BusinessTriggerSchedulerService.javaBusinessTriggerExecutor.javatrigger.vue验收标准:
目标: 按 test-spec.md 执行增量验证。
涉及文件:
code-copilot/changes/lowcode-platform-capability-foundation/test-spec.mdcode-copilot/changes/lowcode-platform-capability-foundation/execution-log.md验收标准:
enable-tests profile,本轮定向单测已实际执行。目标: 进入 review 前补齐 SDD 记录。
涉及文件:
spec.mdtasks.mdexecution-log.md验收标准:
/review lowcode-platform-capability-foundation 审查问题已修复并记录验证结果。目标: 修复审查发现的动作幂等并发、选择器权限/字段泄漏、数量台账幂等和测试未实际执行问题。
涉及文件:
BusinessActionExecutionService.java、BusinessActionExecutionLogMapper.java、BusinessActionExecutionLogMapper.xml、V1.0.87__add_business_action_execution_log.sqlBusinessRecordSelectorService.javaBusinessQuantityLedgerService.java、BusinessQuantityDomainActionExecutor.java、BusinessQuantityOperationResultVO.javaBusinessTriggerExecutor.javaforge-server/pom.xmlBusinessActionExecutionServiceTest.java、BusinessRecordSelectorServiceTest.java、BusinessQuantityLedgerServiceTest.java验收标准:
RUNNING 预占日志,重复请求不会执行步骤。VIEW 权限,响应不暴露 configKey,_raw 只保留选择器允许字段。