Date: 10/22/2026Category: GoWind风行Tag: Golang, GoWind, 工作流, 审批流
本文回答一个问题:不引入 Camunda/Flowable,自己写一个支持条件分支、并行会签、子流程、回退环的审批引擎,核心复杂度到底在哪几处?
GoWind OA(协同办公:审批流转、请假报销、考勤)内置了一个自研的轻量级工作流引擎——约 3000 行核心 Go 代码(不含生成物),7 张表,28 个图模型单测 + service 层集成测试,配一篇 358 行的设计文档。它不追求 BPMN 兼容,只追求"把审批这件事的边界情况全部想清楚"。这篇按引擎的六个机制拆:图契约、编译期校验、运行期推进、会签或签、寻人与委托、业务挂钩——每一段都有真实的取舍可讲。
