业务模块
业务模块
业务模块是低代码平台「从配置到落地」的成果展示区。平台不仅提供表设计器、表单设计器、工作流引擎等通用能力,还基于这些能力内置了若干开箱即用的行业模板与真实业务系统,它们既是可直接使用的成品,也是学习「如何用低代码方式构建企业系统」的最佳范例。
每个业务模块都遵循同一套落地模式:
- 数据驱动建表:用声明式
TableDef/FieldDSL 描述表结构与字段,由SchemaService.createTable在应用启动时动态执行 DDL 并写入lc_table_meta/lc_column_meta元数据; - 数据驱动建页:根据表元数据自动生成列表页
LcPage(pageJson绑定tableId),前端运行时引擎统一渲染,无需手写前端代码; - 数据驱动建菜单:按
businessGroup自动挂载到分目录菜单LcAppMenu; - 工作流联动:审批单据表携带
approval_status列,绑定LcForm+ BPM 流程定义,由BpmBusinessStatusCallback在流程启停时自动回写状态。
阅读顺序
建议先读 理解「模板 = 应用快照」的整体思路;再精读 ,它是低代码 + 工作流落地的完整范例,详细拆解了 Seeder 如何动态建表、建流程、绑表单;随后按需阅读 (公众内容开放接口)与 (转正 / 离职状态机)。
模块一览
| 文档 | 说明 | 核心入口 |
|---|---|---|
| 🧩 | 应用快照的保存与「一键生成新应用」 | TemplateController /api/template |
| 🏭 | 16 张采购链表 + BPM 审批闭环 + approval_status 联动 | ErpAppSeeder + controller/erp/* |
| 🏛️ | 21 张内容表 + TableDef DSL + 公众开放接口 | FoundationSeeder + OpenContentController |
| 👥 | 员工 / 招聘需求 / 面试,转正离职状态机 | controller/hr/* |
通用落地模式
声明式 Schema (TableDef + Field DSL)
│
▼
SchemaService.createTable(LcTableMeta)
├─ generateCreateTableSql → 执行物理 DDL(含 tenant_id / deleted 等通用字段)
├─ tableMetaMapper.insert → lc_table_meta
└─ columnMetaMapper.insert → lc_column_meta
│
├──▶ 自动生成 LcPage(pageJson.type=list,绑定 tableId)
├──▶ 自动挂载 LcAppMenu(按 businessGroup 分目录)
├──▶ (可审批表) 创建 LcForm(approvalEnabled=true,绑定 BPM 定义)
└──▶ schemaService.insertData 写入 mock 数据为什么用 Seeder 而不是 SQL 脚本?
纯 SQL 脚本只能建物理表,无法同步生成 lc_table_meta / lc_column_meta 元数据,低代码运行时引擎也就无法识别这些表、无法自动渲染列表页与表单。Seeder 通过 SchemaService.createTable 这一条「元数据 + DDL 同步」的统一通道建表,确保物理表与平台元数据始终一致,这正是「低代码方式」与「传统脚手架方式」的本质区别。
接下来从 开始逐个讲解。
