流程模板¶
📄 创建: ZCode AI 2026-08-14 · 修改: JimWb 2026-08-14
ApexLiteFlowTemplateController:LiteFlow 规则模板管理。继承标准 CRUD(sys_liteflow 表),另有 3 个生命周期接口(初始化/发布/激活)。
📖 标准 CRUD 接口格式见 标准CRUD接口规范。
一、模块信息¶
@Tag:LiteFlow 模板管理。前缀 /flow/liteflow/templates。
SysLiteFlow 实体字段(表 sys_liteflow):
| 字段 | 说明 |
|---|---|
app_code |
规则所属应用编码(如 tpm-admin) |
corp_code |
工厂编码 |
template_code |
业务模板编码(如 inspection) |
version |
不可变模板版本(如 v1) |
xml_content |
LiteFlow EL XML 原文 |
status |
DRAFT / PUBLISHED / ACTIVE / DISABLED |
publisher |
发布人 |
模板的增删改查直接用标准接口(/list /saveOrUpdate /delete/{id} 等)。
二、模板生命周期接口(3 个)¶
POST /flow/liteflow/templates/initialize — 初始化 v1 模板¶
仅允许 version="v1":先发布(publish)再激活(activate)一步到位。版本不是 v1 抛异常。
- 请求:SysLiteFlow JSON(只取
id) - 响应:
JsonResult<Map<String, PublishResult>>
POST /flow/liteflow/templates/publish — 发布模板版本¶
把模板的 xmlContent 发布为不可变版本(按 appCode+corpCode+templateCode+version),成功后 status 置 PUBLISHED。发布不改变激活状态。
- 请求:SysLiteFlow JSON(只取
id) - 响应:
JsonResult<Map<String, PublishResult>>
POST /flow/liteflow/templates/activate — 激活模板版本¶
激活已发布版本(事务内降级旧 ACTIVE、激活目标版本),业务应用新实例将读取该版本。
- 请求:SysLiteFlow JSON(只取
id) - 响应:
JsonResult<Void>
2026-08 改造后激活状态统一以数据库 ACTIVE 为准,不再写 Redis current 指针。
三、典型流程¶
1. POST /list 查模板 或 POST /saveOrUpdate 新建 DRAFT 模板(version=v1, xmlContent=规则XML)
2. POST /initialize ← v1 专用(发布+激活一步到位)
或 v2+:POST /publish → POST /activate
Apex 只负责规则发布到 Redis(liteflow.rule-db,key 前缀 bams-liteflow),不执行规则链。规则执行由业务应用(如 tpm)通过 BamsVersionedLiteFlowExecutor 调用,详见 SDK开发包-流程引擎。
相关文档¶
- 标准CRUD接口规范
- 业务中台接口首页
- SDK开发包-流程引擎 — LiteFlow 机制详解