@@ -10,7 +10,7 @@ Flow Engine 是一个基于 Java 17 和 Spring Boot 3.5.9 构建的企业级工
1010
1111### 核心特性
1212
13- - ** 15 种节点类型** - 开始、结束、审批、办理、通知、条件控制、条件分支、并行控制、并行分支、路由、包容控制、包容分支、子流程、延迟、触发节点
13+ - ** 19 种节点类型** - 开始、结束、审批、办理、通知、人工、 条件控制、条件分支、条件Else分支、 并行控制、并行分支、路由、包容控制、包容分支、包容Else分支、 子流程、延迟、触发节点、人工分支
1414- ** 8 种动作类型** - 通过、拒绝、保存、加签、委派、退回、转办、自定义
1515- ** 策略驱动配置** - 所有关键配置通过策略实现,支持动态扩展
1616- ** Groovy 脚本扩展** - 支持发起人动态匹配、审批人加载、条件判断、自定义操作等
@@ -95,22 +95,26 @@ flow-engine
9595│ │ ├── FlowNodeState # 节点状态分类
9696│ │ └── WorkflowStrategyManager # 工作流策略管理器
9797│ ├── node # 节点层
98- │ │ ├── nodes # 节点实现(15种)
99- │ │ │ ├── StartNode # 开始节点
100- │ │ │ ├── EndNode # 结束节点
101- │ │ │ ├── ApprovalNode # 审批节点
102- │ │ │ ├── HandleNode # 办理节点
103- │ │ │ ├── NotifyNode # 通知节点
104- │ │ │ ├── ConditionNode # 条件控制节点(块节点)
105- │ │ │ ├── ConditionBranchNode # 条件分支节点
106- │ │ │ ├── ParallelNode # 并行控制节点(块节点)
107- │ │ │ ├── ParallelBranchNode # 并行分支节点
108- │ │ │ ├── RouterNode # 路由节点
109- │ │ │ ├── InclusiveNode # 包容控制节点(块节点)
110- │ │ │ ├── InclusiveBranchNode # 包容分支节点
111- │ │ │ ├── SubProcessNode # 子流程节点
112- │ │ │ ├── DelayNode # 延迟节点
113- │ │ │ └── TriggerNode # 触发节点
98+ │ │ ├── nodes # 节点实现(19种)
99+ │ │ │ ├── StartNode # 开始节点
100+ │ │ │ ├── EndNode # 结束节点
101+ │ │ │ ├── ApprovalNode # 审批节点
102+ │ │ │ ├── HandleNode # 办理节点
103+ │ │ │ ├── NotifyNode # 通知节点
104+ │ │ │ ├── ManualNode # 人工节点(块节点)
105+ │ │ │ ├── ManualBranchNode # 人工分支节点
106+ │ │ │ ├── ConditionNode # 条件控制节点(块节点)
107+ │ │ │ ├── ConditionBranchNode # 条件分支节点
108+ │ │ │ ├── ConditionElseBranchNode # 条件Else分支节点
109+ │ │ │ ├── ParallelNode # 并行控制节点(块节点)
110+ │ │ │ ├── ParallelBranchNode # 并行分支节点
111+ │ │ │ ├── RouterNode # 路由节点
112+ │ │ │ ├── InclusiveNode # 包容控制节点(块节点)
113+ │ │ │ ├── InclusiveBranchNode # 包容分支节点
114+ │ │ │ ├── InclusiveElseBranchNode # 包容Else分支节点
115+ │ │ │ ├── SubProcessNode # 子流程节点
116+ │ │ │ ├── DelayNode # 延迟节点
117+ │ │ │ └── TriggerNode # 触发节点
114118│ │ ├── factory # NodeFactory 节点工厂
115119│ │ ├── helper # 节点助手
116120│ │ │ ├── BackNodeHelper # 退回节点助手
@@ -207,9 +211,11 @@ flow-engine
207211│ ├── Workflow # 流程对象
208212│ └── WorkflowBuilder # 流程构建器
209213│ └── src/test/java # 测试代码
210- ├── flow-engine-starter # Spring Boot Starter
211- ├── flow-engine-starter-infra # 持久化层 Starter
212- ├── flow-engine-example # 示例项目
214+ ├── flow-engine-starter # Spring Boot 自动配置入口
215+ ├── flow-engine-starter-api # REST API 层(FlowRecordController、WorkflowController)
216+ ├── flow-engine-starter-infra # 持久化层(JPA 实体、8个仓储实现、达梦方言)
217+ ├── flow-engine-starter-query # 查询层(FlowRecordQueryController、WorkflowQueryController)
218+ ├── flow-engine-example # 示例项目(H2/达梦数据库、JWT 认证、端口 8090)
213219└── flow-frontend # 前端项目(独立 Git 仓库)
214220 ├── apps
215221 │ ├── app-pc # PC 端应用
@@ -236,10 +242,13 @@ flow-engine
236242
237243- ** Java 17** - 编程语言
238244- ** Spring Boot 3.5.9** - 应用框架
239- - ** Groovy** - 脚本引擎
245+ - ** Spring Data JPA** - 数据持久化
246+ - ** Groovy** - 脚本引擎(动态脚本扩展)
240247- ** Lombok** - 代码简化
241- - ** Fastjson** - JSON处理
242- - ** Apache Commons** - 工具库
248+ - ** Fastjson 2** - JSON 处理
249+ - ** JJWT** - JWT 令牌认证(示例应用)
250+ - ** Apache Commons** - 工具库(IO / Lang3 / Crypto)
251+ - ** H2 / 达梦数据库** - 数据库支持
243252
244253### 前端
245254
@@ -378,7 +387,7 @@ pnpm run dev:app-mobile
378387### 八层架构
379388
3803891 . ** 流程层** (Workflow Layer) - 流程定义层
381- 2 . ** 节点层** (Node Layer) - 节点层(15种节点类型 )
390+ 2 . ** 节点层** (Node Layer) - 节点层(19种节点类型 )
3823913 . ** 动作层** (Action Layer) - 动作层(8种动作类型)
3833924 . ** 记录层** (Record Layer) - 记录层
3843935 . ** 会话层** (Session Layer) - 会话层
@@ -388,13 +397,12 @@ pnpm run dev:app-mobile
388397
389398### 设计模式
390399
391- - ** 建造者模式** (Builder Pattern)
392- - ** 工厂模式** (Factory Pattern)
393- - ** 策略模式** (Strategy Pattern)
394- - ** 模板方法模式** (Template Method Pattern)
395- - ** 单例模式** (Singleton Pattern)
396- - ** 责任链模式** (Chain of Responsibility Pattern)
397- - ** 组合模式** (Composite Pattern)
400+ - ** 建造者模式** (Builder Pattern) - WorkflowBuilder、NodeBuilder、FormMetaBuilder
401+ - ** 工厂模式** (Factory Pattern) - FlowActionFactory、NodeFactory、NodeStrategyFactory
402+ - ** 策略模式** (Strategy Pattern) - INodeStrategy、IWorkflowStrategy
403+ - ** 模板方法模式** (Template Method Pattern) - BaseAction、BaseFlowNode
404+ - ** 责任链模式** (Chain of Responsibility Pattern) - 动作执行链
405+ - ** 组合模式** (Composite Pattern) - 带 blocks 属性的块节点层级结构
398406
399407## 节点类型
400408
@@ -412,21 +420,25 @@ pnpm run dev:app-mobile
412420| DelayNode | 延迟节点 | ` DELAY ` |
413421| TriggerNode | 触发节点 | ` TRIGGER ` |
414422
415- ### 块节点/容器节点 (3种 ) - 包含子节点(blocks)
423+ ### 块节点/容器节点 (4种 ) - 包含子节点(blocks)
416424
417425| 节点类型 | 描述 | NODE_TYPE |
418426| ---------| ------| -----------|
427+ | ManualNode | 人工节点 | ` MANUAL ` |
419428| ConditionNode | 条件控制节点 | ` CONDITION ` |
420429| ParallelNode | 并行控制节点 | ` PARALLEL ` |
421430| InclusiveNode | 包容控制节点 | ` INCLUSIVE ` |
422431
423- ### 分支节点 (3种 ) - 作为块节点的子节点
432+ ### 分支节点 (6种 ) - 作为块节点的子节点
424433
425434| 节点类型 | 描述 | NODE_TYPE |
426435| ---------| ------| -----------|
436+ | ManualBranchNode | 人工分支节点 | ` MANUAL_BRANCH ` |
427437| ConditionBranchNode | 条件分支节点 | ` CONDITION_BRANCH ` |
438+ | ConditionElseBranchNode | 条件Else分支节点 | ` CONDITION_ELSE_BRANCH ` |
428439| ParallelBranchNode | 并行分支节点 | ` PARALLEL_BRANCH ` |
429440| InclusiveBranchNode | 包容分支节点 | ` INCLUSIVE_BRANCH ` |
441+ | InclusiveElseBranchNode | 包容Else分支节点 | ` INCLUSIVE_ELSE_BRANCH ` |
430442
431443## 动作类型
432444
@@ -467,9 +479,19 @@ category.subcategory.errorType
467479
468480所有异常消息使用英文。
469481
482+ ## 示例应用
483+
484+ 示例应用(` flow-engine-example ` )提供了一个开箱即用的完整演示环境:
485+
486+ - ** 默认数据库** :H2(内存数据库,无需额外配置)
487+ - ** 可选数据库** :达梦(` --spring.profiles.active=dm ` )
488+ - ** 认证** :JWT Token 认证
489+ - ** 访问端口** :8090
490+ - ** 管理员账号** :启动时由 ` AdminInitializer ` 自动初始化
491+
470492## 文档
471493
472- - [ CLAUDE.md] ( CLAUDE.md ) - Claude Code 指南
494+ - [ CLAUDE.md] ( CLAUDE.md ) - Claude Code 开发指南
473495
474496## 测试
475497
0 commit comments