跳转至

流程模板

📄 创建: ZCode AI 2026-08-14 · 修改: JimWb 2026-08-14

https://doc.xpku.com/raw/tech/backend/api-standards/biz-api/flow.md

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开发包-流程引擎


相关文档