status: proposed created: 2026-06-28 原则:复用现有低代码与 Flow 能力;不新建独立审批引擎;查询 SQL 写 Mapper XML;分页参数使用
pageNum/pageSize;Flyway 脚本防重复;内置数据tenant_id=1;流程回调必须具备租户上下文和幂等。
| 阶段 | 目标 | 交付结果 |
|---|---|---|
| Phase 0 | 基线冻结 | 明确当前能力、兼容范围和迁移边界 |
| Phase 1 | 契约统一 | BusinessFlowContract 协议和发布态快照 |
| Phase 2 | 运行网关 | 统一发起、撤回、取消、重提和状态查询 |
| Phase 3 | 事件桥接 | Flow 全量事件消费、幂等、状态机和 trace |
| Phase 4 | 表单资产与待办表单 | 表单资产目录、BUSINESS_OBJECT_FORM / BUSINESS_CODE_FORM 和节点字段权限 |
| Phase 5 | 设计器一体化 | 表单、单据、流程、节点权限、表单资产选择、自动化合并成流程应用搭建链路 |
| Phase 6 | 模板与生成 | BPMN 模板库、变量清单、节点权限默认值和脚手架 |
| Phase 7 | 验收与治理 | 自动化验收、文档、迁移和运行监控 |
| Task | 阶段 | 名称 | 状态 | 优先级 |
|---|---|---|---|---|
| Task 0 | Phase 0 | 业务流程现状基线和兼容范围确认 | completed | P0 |
| Task 1 | Phase 1 | 定义 BusinessFlowContract 协议 | in_progress | P0 |
| Task 2 | Phase 1 | 流程契约保存与发布态快照 | in_progress | P0 |
| Task 3 | Phase 1 | businessKey 和 recordKey 通用化 | pending | P0 |
| Task 4 | Phase 2 | BusinessFlowGateway 运行网关 | pending | P0 |
| Task 5 | Phase 2 | BusinessRecordRuntimeFacade 记录运行门面 | pending | P0 |
| Task 6 | Phase 2 | 驳回修改重提运行接口 | in_progress | P0 |
| Task 7 | Phase 3 | BusinessFlowEventBridge 全量事件桥 | pending | P0 |
| Task 8 | Phase 3 | BusinessFlowStateMachine 状态机 | pending | P0 |
| Task 9 | Phase 3 | 流程 trace 和幂等日志 | pending | P1 |
| Task 10 | Phase 4 | 表单资产目录与 TaskFormInfo 统一表单引用 | in_progress | P0 |
| Task 11 | Phase 4 | 待办审批页低代码/代码表单渲染 | in_progress | P0 |
| Task 12 | Phase 4 | 节点字段权限后端校验与代码表单目录 | in_progress | P0 |
| Task 13 | Phase 5 | 对象设计器流程应用向导与表单资产选择器 | in_progress | P0 |
| Task 14 | Phase 5 | 发布检查合并流程契约规则 | pending | P0 |
| Task 15 | Phase 5 | 触发器与流程事件副作用编排 | pending | P1 |
| Task 16 | Phase 6 | BPMN 模板库与变量清单 | pending | P0 |
| Task 17 | Phase 6 | 代码优先复杂业务接入 SDK/Adapter | in_progress | P1 |
| Task 18 | Phase 6 | AI/代码生成流程脚手架 | pending | P1 |
| Task 19 | Phase 7 | 标准流程自动化验收模板 | pending | P0 |
| Task 20 | Phase 7 | 历史数据迁移和兼容验证 | pending | P0 |
| Task 21 | Phase 7 | 文档、示例和操作手册 | pending | P1 |
目标: 冻结本轮优化边界,避免重复建设已完成能力。
涉及文件:
code-copilot/changes/business-flow-lowcode-integration/spec.mdcode-copilot/changes/lowcode-app-full-loop-optimization/spec.mdcode-copilot/changes/form-first-business-object-designer/spec.mdcode-copilot/changes/lowcode-runtime-datasource-isolation/spec.md工作内容:
BusinessFlowService、BusinessDocumentRuntimeService、FlowTaskEventListener、FlowBusinessObjectRuntimeAdapterImpl 的职责。ai_business_flow_contract_version,还是先复用 ai_business_binding.binding_config。recordKey String,数据库可分阶段落地。验收标准:
本轮结果:
ai_business_binding.binding_config 的渐进方案,不新增独立审批引擎。目标: 用一份契约统一业务对象、单据、流程、节点表单、状态机、变量和事件副作用。
涉及文件:
BusinessFlowBindingDTOBusinessFlowContractDTOBusinessFlowContractVOBusinessFlowContractNormalizerBusinessKeyCodec工作内容:
schemaVersion/objectCode/configKey/recordKey/businessBinding/document/mainFlow/variableMapping/nodeForms/events/options。flowModelKey/titleTemplate/startMode/variableMapping/options。mode/tableName/primaryKeyField/tenantField/statusField/titleField/ownerField。formField/flowVariable,兼容 field/variable。rejectStrategy/modifyTaskKey。验收标准:
BusinessFlowBindingVO 给现有前端。本轮结果:
BusinessFlowBindingDTO/VO 已增加 businessBinding。BusinessFlowBindingDTO/VO 已增加 nodeForms,可承载节点表单引用和字段权限。目标: 区分设计态草稿和运行态契约,避免运行中流程受设计变更影响。
涉及文件:
BusinessFlowServiceBusinessObjectDesignerServiceBusinessObjectPublishServiceBusinessObjectDesignVersionService工作内容:
ai_business_binding.binding_config。LOWCODE_OBJECT 模式自动解析运行态表名、主键字段、租户字段和状态字段。BUSINESS_TABLE 模式保存开发者确认过的表字段白名单,不允许运行时任意拼表名字段名。ai_business_flow_instance_link.variables_snapshot 或独立快照字段。ai_business_flow_contract_version,记录对象版本、流程模型版本和表单权限版本。验收标准:
本轮结果:
businessBinding。ai_business_binding.binding_config.nodeForms,首期不新增契约版本表。目标: 解决流程链路长期依赖 Long recordId 的问题。
涉及文件:
BusinessFlowStartDTOAiBusinessFlowInstanceLinkBusinessFlowInstanceLinkMapper.xmlTaskFormInfoFlowBusinessObjectRuntimeAdapterFlowBusinessObjectRuntimeAdapterImplBusinessDocumentRuntimeService工作内容:
recordKey String,保留 recordId Long 兼容。record_key,历史数据用 record_id 回填。BusinessKeyCodec 统一构建/解析 ${objectCode}:${recordKey}。recordKey。验收标准:
目标: 统一页面按钮、触发器、FlowEntry 三类流程发起入口。
涉及文件:
BusinessFlowGatewayBusinessFlowServiceBusinessTriggerExecutorFlowBusinessObjectRuntimeAdapterImplBusinessApprovalRuntimeService工作内容:
start/withdraw/cancel/resubmit/getRuntime/updateVariables。/ai/business/approval/start 只保留兼容转发。验收标准:
目标: 屏蔽动态 CRUD、多数据源、主键、审计和内部状态更新差异。
涉及文件:
BusinessRecordRuntimeFacadeDynamicCrudServiceLowcodeRuntimeDataSourceResolverBusinessDocumentRuntimeServiceBusinessFlowService工作内容:
loadRecord/updateInternalFields/buildRecordSnapshot/resolvePrimaryKey。LOWCODE_OBJECT 和简单 BUSINESS_TABLE 两种元数据来源。statusField 更新,统一处理租户字段、审计字段和运行数据源。验收标准:
dynamicCrudService.updateInternalFieldsById。目标: 把“驳回到发起人修改节点”固化为平台能力。
涉及文件:
BusinessFlowGatewayBusinessFlowStateMachineFlowClientAiCrudPage工作内容:
rejectStrategy=RETURN_TO_MODIFY_TASK 和 modifyTaskKey。INLINE_MODIFY(待办内嵌修改)和 BUSINESS_PAGE_MODIFY(跳转业务单据修改)。TASK_COMPLETED + approvalResult=reject 进入可修改状态但不结束流程。INLINE_MODIFY;代码优先复杂业务默认走 BUSINESS_PAGE_MODIFY,由业务页保存后调用 BusinessFlowGateway.resubmit(...)。验收标准:
本轮结果:
POST /ai/business/flow/resubmit,供复杂代码业务页在保存主数据后完成当前修改节点。IN_PROCESS,并可携带补充流程变量。目标: 低代码流程不依赖 @FlowBind(modelKey=...) 手写 Bean。
涉及文件:
BusinessFlowEventBridgeFlowEventSubscriberBusinessFlowController#callbackBusinessFlowCallbackDTO工作内容:
flow:event:all。tenantId/businessKey/processInstanceId/processDefKey 查找实例关联和契约。验收标准:
tenantId 时记录告警并拒绝或按明确策略兜底。目标: 把 Flow 事件转为业务状态流转,支持中间节点状态。
涉及文件:
BusinessFlowStateMachineBusinessFlowServiceBusinessDocumentConfigServiceBusinessEventPublisher工作内容:
PROCESS_STARTED/TASK_CREATED/TASK_COMPLETED/PROCESS_COMPLETED/PROCESS_CANCELED。FLOW_APPROVED/FLOW_REJECTED/FLOW_CANCELED 业务事件。验收标准:
APPROVED 回退成 IN_PROCESS。目标: 能按一条业务流程查清发起、回调、状态回写和触发器执行结果。
涉及文件:
ai_business_flow_trace_logBusinessFlowGatewayBusinessFlowEventBridgeBusinessTriggerExecutorBusinessMessageChannelService工作内容:
correlationId。eventId 或组合幂等键。验收标准:
businessKey/processInstanceId/correlationId 查询完整链路。目标: 流程节点配置不再让用户手工输入页面路径,而是选择平台可识别、可校验、可迁移的表单资产。
涉及文件:
TaskFormInfoFlowTaskServiceImplBusinessFormAssetBusinessFormAssetServiceBusinessCodeFormProviderBusinessCodeFormProviderRegistryBusinessTaskFormContextServiceFlowBusinessObjectRuntimeAdapterNodePropertiesPanel.vueBusinessFlowBindingPanel.vue工作内容:
formRef:type/code/viewKey/version,兼容旧 formKey/formUrl。formType=BUSINESS_OBJECT_FORM 和 formType=BUSINESS_CODE_FORM。formRef/objectCode/configKey/recordKey/viewKey/mode/editMode/fieldPermissions/runtimeRules。BusinessCodeFormProvider 或配置注册,不让用户输入组件路径。businessKey、流程变量、表单实例快照兜底解析业务记录。验收标准:
business_key 时能从流程变量或实例关联兜底。formKey/formUrl 配置仍能读取和办理。本轮结果:
GET /ai/business/flow/form-assets/{objectCode},从低代码对象 formDesignerSchema 汇聚默认表单、多表单资产和字段目录。GET/PUT /ai/business/flow/task-form-context,待办页可按 businessKey/processInstanceId/taskDefKey 获取业务表单上下文并保存授权字段。BusinessFlowVariableResolver 已解析 BPMN userTask,流程配置面板可按人工节点自动生成节点表单策略行。formRef:低代码表单使用 BUSINESS_OBJECT_FORM + objectCode + formKey + viewKey,代码表单预留 BUSINESS_CODE_FORM + providerKey + formKey,外部表单使用 EXTERNAL + formUrl。forge-plugin-flow 反向依赖低代码模块;待办页先在读取 TaskFormInfo 后调用业务侧上下文 API 完成运行态桥接。目标: 审批人办理时看到与业务详情一致的表单和流程上下文,复杂代码业务也能接入待办页。
涉及文件:
forge-admin-ui/src/views/flow/todo.vueFlowTaskDetailShell.vueAiCrudFlowDetail.vueFieldValueRenderer.vue工作内容:
BUSINESS_OBJECT_FORM 加载业务记录。BUSINESS_CODE_FORM 加载业务模块注册的表单上下文,支持内嵌组件或跳转业务详情页。验收标准:
本轮结果:
forge-admin-ui/src/views/flow/todo.vue 已接入低代码业务表单上下文,使用 AiForm 渲染节点可见字段。BUSINESS_CODE_FORM 上下文兜底展示;Provider 返回业务页地址时,可从待办打开业务表单处理。目标: 字段权限不能只靠前端控制;代码表单也必须提供可配置的字段或区域目录。
涉及文件:
BusinessTaskFormContextServiceBusinessRecordRuntimeFacadeDynamicCrudServiceBusinessCodeFormProviderBusinessFlowAdapter工作内容:
formAssets() 暴露字段或区域目录,复杂页面可把区域、附件区、操作按钮抽象为虚拟字段。taskDefKey + formRef + fieldPolicies 校验提交字段。验收标准:
本轮结果:
readable/writable/required。fieldPermissions,默认不把未知字段当作可编辑字段。BusinessFlowService#saveTaskFormContext 已按节点 taskDefKey + fieldPermissions 过滤保存字段,隐藏字段不返回给待办页,不可编辑字段即使前端篡改也不会写入。taskId 并通过 Flow 服务校验任务状态、办理人、候选人、流程实例、业务 Key 和节点 Key。BusinessCodeFormProvider 和 BusinessCodeFormProviderRegistry,业务模块可用 Spring Bean 注册代码表单资产、上下文和保存逻辑。目标: 把表单、单据、流程、节点权限和自动化组织成完整低代码搭建链路。
涉及文件:
object-designer.[objectCode].vueBusinessDocumentPanel.vueBusinessFlowBindingPanel.vueFlowVariableMappingEditor.vue工作内容:
FormPermissionConfig。验收标准:
本轮结果:
BusinessFlowBindingPanel.vue 已增加业务记录绑定配置入口。BusinessFlowBindingPanel.vue 已增加“节点表单策略”:按 BPMN 人工节点选择低代码业务表单,配置可见、可编辑、必填字段;代码表单和外部表单保留开发者模式入口。serviceTask + flowable:type="cc",按来源写入 candidateUsers 或 candidateGroups,默认挂平台 flowCcNodeDelegate;流程走到该节点时可按固定人员、角色成员或表达式结果发送抄送,不再只能依赖流程结束后的后台变量抄送。目标: 发布时一次性检查流程类应用是否可运行。
涉及文件:
BusinessObjectPublishServiceBusinessPublishChecklist.vueLowcodeSchemaValidator工作内容:
businessBinding.tableName/statusField/primaryKeyField/tenantField 来自低代码元数据或开发者白名单。formRef 引用的表单资产存在;代码表单资产必须提供字段或区域目录。INLINE_MODIFY 或 BUSINESS_PAGE_MODIFY。验收标准:
目标: 流程通过、驳回、撤回后可以低代码配置副作用。
涉及文件:
BusinessTriggerServiceBusinessTriggerExecutorBusinessTriggerMapper.xml工作内容:
FLOW_APPROVED/FLOW_REJECTED/FLOW_CANCELED 作为标准事件源。correlationId。验收标准:
目标: 让流程设计器和 AI 生成器能快速生成规范流程。
涉及文件:
FlowTemplateFlowTemplateFactoryFlowBpmnGenerateServiceflow-designer/converter工作内容:
验收标准:
目标: 让非低代码创建、由用户自己写代码实现的复杂业务,也能灵活接入同一套流程网关、事件桥、trace 和待办展示能力。
涉及文件:
BusinessFlowAdapterAbstractBusinessFlowAdapterBusinessFlowAdapterRegistryFlowStartRequestFlowStartResultFlowBusinessSnapshotBusinessTaskFormContextBusinessCodeFormProviderBusinessCodeFormProviderRegistryBusinessFlowGatewayBusinessFlowEventBridge工作内容:
businessType/objectCode/modelKey/buildBusinessKey/loadBusiness/buildStartVariables/validateBeforeStart/markInProcess/onTaskCompleted/onApproved/onRejected/onCanceled。businessType/modelKey/businessKey 路由流程事件。BusinessFlowGateway 支持代码优先业务发起流程,不要求存在低代码对象或 ai_crud_config。BusinessFlowEventBridge 识别代码优先业务后调用 Adapter,而不是走动态 CRUD 状态回写。BUSINESS_CODE_FORM 上下文,供待办页打开复杂业务详情。BusinessCodeFormProvider.formAssets() 提供字段或区域目录;复杂区域可用虚拟字段表示。@FlowBind/@FlowCallback 兼容,但新复杂业务优先使用 Adapter。验收标准:
本轮结果:
BusinessCodeFormProvider 和 BusinessCodeFormProviderRegistry 服务端扩展点。GET /ai/business/flow/form-assets/{objectCode} 会合并已注册代码表单资产,后续业务模块实现 Provider 后即可出现在资产目录中。BUSINESS_CODE_FORM 待办上下文已支持 Provider 委派;未注册 Provider 时返回明确 warning,不再默默降级为手工路径。/ai/business/flow/resubmit 重提”的后端协议已具备;采购合同等具体示例 Provider 尚未新增。@FlowCallback 重复消费。SamplePurchaseOrderCodeFormProvider,可通过代码表单资产和外置表单路径验证手写业务接入流程。目标: 对需要代码化交付的流程模块,生成规范骨架。
涉及文件:
forge-codegen-crud 相关模板工作内容:
pageNum/pageSize、字典和租户规则。验收标准:
目标: 每个流程类应用可复用同一套验收场景。
涉及文件:
code-copilot/rules/automated-testing-standard.md验收场景:
APPROVED -> 触发器副作用。CANCELED。验收标准:
execution-log.md。本轮结果:
目标: 现有低代码对象和流程实例平滑迁移。
涉及文件:
工作内容:
recordId 回填 recordKey。binding_config 归一化为新契约。验收标准:
目标: 让后续业务流程接入有可复用操作标准。
涉及文件:
forge-docscode-copilot/knowledge工作内容:
验收标准:
code-copilot/memory/pitfalls.md 或 code-copilot/knowledge。