From 850b6a6e815644ef75dbc1419444d399c23782ec Mon Sep 17 00:00:00 2001 From: lorne <1991wangliang@gmail.com> Date: Thu, 12 Nov 2026 16:21:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=A8=E5=87=8F?= =?UTF-8?q?=E7=AD=BE=E5=8A=A8=E4=BD=9C=E4=B8=8E=E5=87=8F=E7=AD=BE=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit README 动作类型表与动作/事件数量、CLAUDE.md 动作与事件清单、脚本集成文档的自定义动作返回类型均未同步 REDUCE_AUDIT,本次与 ActionType / FlowRecordReduceAuditEvent 实现对齐。 --- CLAUDE.md | 6 +++--- README.md | 9 +++++---- docs/Integration/script-integration.md | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 8f27c79f..669c9eeb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,7 +22,7 @@ Flow Engine 是一个企业级工作流引擎,基于 Java 17 和 Spring Boot 3 | 包路径 | 职责 | |--------|------| | `com.codingapi.flow.node` | 19 种流程节点类型 | -| `com.codingapi.flow.action` | 8 种动作类型 | +| `com.codingapi.flow.action` | 9 种动作类型 | | `com.codingapi.flow.strategy` | 节点策略和工作流策略 | | `com.codingapi.flow.script` | Groovy 脚本运行时 | | `com.codingapi.flow.repository` | 仓储接口定义 | @@ -57,14 +57,14 @@ REST 层通过请求参数 `mockKey` 分流到 Mock 实例(见 `FlowRecordCont ### 节点 / 动作 / 策略三元组 -19 种节点(`node/nodes/`)× 8 种动作(`action/actions/`),行为由策略(`strategy/node/`、`strategy/workflow/`)驱动而非继承扩展: +19 种节点(`node/nodes/`)× 9 种动作(`action/actions/`),行为由策略(`strategy/node/`、`strategy/workflow/`)驱动而非继承扩展: - `NodeStrategyManager` 持有节点策略(如 `RevokeStrategy`、`OperatorLoadStrategy`、`RecordMergeStrategy`) - `ActionManager` 持有节点动作 - 节点类型常量见 `StartNode.NODE_TYPE`(= `NodeType.START.name()`),`FlowRecord.isNodeType(String)` 用于按类型判定 ### 事件(IFlowEvent + EventPusher) -8 种事件:开始 / 待办 / 已办 / 完成 / 催办 / 撤销(`FlowRecordRevokeEvent`)/ 删除(`FlowRecordDeleteEvent`)/ 子流程重置(`FlowSubProcessResetEvent`)。操作完成后用 `EventPusher.push(event)` 推送;记录类事件携带 `FlowRecord` + `mock` 标记,重置事件携带新旧聚合组快照。外部可用 Spring `@EventListener` 订阅。 +9 种事件:开始 / 待办 / 已办 / 完成 / 催办 / 撤销(`FlowRecordRevokeEvent`)/ 删除(`FlowRecordDeleteEvent`)/ 减签(`FlowRecordReduceAuditEvent`)/ 子流程重置(`FlowSubProcessResetEvent`)。操作完成后用 `EventPusher.push(event)` 推送;记录类事件携带 `FlowRecord` + `mock` 标记,重置事件携带新旧聚合组快照。外部可用 Spring `@EventListener` 订阅。 ### API 模块划分 diff --git a/README.md b/README.md index 91f0d0cc..575283dd 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Flow Engine 是一个基于 Java 17 和 Spring Boot 3.5.9 构建的企业级工 ### 核心特性 - **19 种节点类型** - 开始、结束、审批、办理、通知、人工、条件控制、条件分支、条件Else分支、并行控制、并行分支、路由、包容控制、包容分支、包容Else分支、子流程、延迟、触发节点、人工分支 -- **8 种动作类型** - 通过、拒绝、保存、加签、委派、退回、转办、自定义 +- **9 种动作类型** - 通过、拒绝、保存、加签、减签、委派、退回、转办、自定义 - **策略驱动配置** - 所有关键配置通过策略实现,支持动态扩展 - **Groovy 脚本扩展** - 支持发起人动态匹配、审批人加载、条件判断、自定义操作等 - **多人审批模式** - 顺序审批、会签审批(可配置比例)、或签审批、随机审批 @@ -44,7 +44,7 @@ flow-engine |------|------| | `workflow` | 流程定义:Workflow、WorkflowVersion、运行时快照(runtime) | | `node` | 19 种流程节点、节点工厂与节点助手 | -| `action` | 8 种流程动作与动作工厂 | +| `action` | 9 种流程动作与动作工厂 | | `strategy` | 策略层:15 种节点策略 + 2 种工作流策略 | | `script` | Groovy 脚本系统:9 种节点脚本、3 种动作脚本、运行时、注册表、工厂 | | `transfer` | 流程定义导入导出(旧版 Schema 兼容、脚本迁移) | @@ -54,7 +54,7 @@ flow-engine | `session` | 执行上下文:FlowSession、FlowAdvice、IRepositoryHolder | | `record` | 流程记录:FlowRecord、FlowTodoRecord、FlowTodoMerge | | `repository` | 12 个仓储接口(持久化抽象,由 infra 模块实现) | -| `event` | 8 种流程事件:开始 / 待办 / 已办 / 完成 / 催办 / 撤销 / 删除 / 子流程重置 | +| `event` | 9 种流程事件:开始 / 待办 / 已办 / 完成 / 催办 / 撤销 / 删除 / 减签 / 子流程重置 | | `exception` | 框架异常体系:异常基类 + 6 种具体异常(验证 / 未找到 / 状态 / 权限 / 执行 / 导入导出) | | `form` | 表单系统:字段定义、数据校验、字段权限、值转换 | | `builder` | 6 种构建器(流程、节点、动作、策略、字段权限、节点映射) | @@ -220,7 +220,7 @@ pnpm run dev:app-mobile 1. **流程层** (Workflow Layer) - 流程定义层 2. **节点层** (Node Layer) - 节点层(19种节点类型) -3. **动作层** (Action Layer) - 动作层(8种动作类型) +3. **动作层** (Action Layer) - 动作层(9种动作类型) 4. **记录层** (Record Layer) - 记录层 5. **会话层** (Session Layer) - 会话层 6. **管理器层** (Manager Layer) - 管理器层 @@ -282,6 +282,7 @@ pnpm run dev:app-mobile | ReturnAction | 退回 | `RETURN` | | TransferAction | 转办 | `TRANSFER` | | AddAuditAction | 加签 | `ADD_AUDIT` | +| ReduceAuditAction | 减签 | `REDUCE_AUDIT` | | DelegateAction | 委派 | `DELEGATE` | | CustomAction | 自定义 | `CUSTOM` | diff --git a/docs/Integration/script-integration.md b/docs/Integration/script-integration.md index 03277403..ac8f35e6 100644 --- a/docs/Integration/script-integration.md +++ b/docs/Integration/script-integration.md @@ -37,7 +37,7 @@ | `OperatorMatchScript` | 校验发起人是否允许发起流程 | `Workflow.matchCreatedOperator` | | `ErrorTriggerScript` | 匹配不到操作人时的兜底(跳节点 / 兜底操作人) | `ErrorTriggerStrategy` | | `ActionDisplayScript` | 控制动作是否展示 | `ActionDisplay.show` | -| `ActionCustomScript` | 自定义动作类型(返回 `SAVE/PASS/REJECT/ADD_AUDIT/DELEGATE/RETURN/TRANSFER`) | `CustomAction` | +| `ActionCustomScript` | 自定义动作类型(返回 `SAVE/PASS/REJECT/ADD_AUDIT/REDUCE_AUDIT/DELEGATE/RETURN/TRANSFER`;返回 `REDUCE_AUDIT` 时需同时提供 `advice.forwardOperatorIds`) | `CustomAction` | | `ActionRejectScript` | 拒绝动作的目标(返回节点 id 或 `TERMINATE`) | `RejectAction` | ## 2. 脚本执行上下文 From eeba200fe1ad903144bd87f7fa44339ab0de668e Mon Sep 17 00:00:00 2001 From: lorne <1991wangliang@gmail.com> Date: Thu, 12 Nov 2026 16:23:10 +0800 Subject: [PATCH 2/2] Update flow-frontend to latest main --- flow-frontend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow-frontend b/flow-frontend index 5b767582..0f8cd6d1 160000 --- a/flow-frontend +++ b/flow-frontend @@ -1 +1 @@ -Subproject commit 5b76758205ee8c38717fa0f4002b6993c356d723 +Subproject commit 0f8cd6d152b57131f4338d17da20103141bbf0f5