一个内部新项目有流程审批流,大部分流程节点都不多大致都3-6个节点,总共4-6个流程。但其中两个流程节点很多(流转的节点可写死,只在于人员不同,根据不同部门其中的领导层可能少1-2层)(13-15个节点)且根据不同状态有分支(且节点需可扩展推送钉钉或企微通知),但最终都是归档。
要求实现可以退回驳回至任意节点、恢复流程、监控流程状态等功能。
之前没有过写流程系统的经验,现在的想法是基于数据库表实现这个简易的流程系统,如果能用Activiti我不会来提问的。
包含流程信息表(基本状态、节点String逗号分隔)、流程节点表(流程的每个节点)、流程修改记录表(流程状态变更记录,关联审批表)、流程审批表(真实流程requestId)。节点多的两个流程直接写死插入节点表,只变更其中的人员。
总觉得有很多地方遗漏且太过耦合,且这种流程有什么设计模式可用吗?