系统功能设计
这篇解决什么
系统管理怎么分层:用户 / 部门 / 角色是主数据,日志、OAuth、三方登录、邮件短信站内信是平台能力。读完先对模块边界和表,再进用户体系、日志、消息等功能篇。
默认端口 48080,前缀 /admin-api。工程启动见 快速开始。权限模型见 功能与数据权限。
业务流程及架构
系统管理自己不算流程引擎。yudao-module-system 管账号、组织、令牌和消息通道。菜单上的 processDefinitionKey 只给 BPM 查权限,本模块没有 FlowBillService。
示意图:左客户端。中间系统模块发令牌、写日志、发短信邮件,不推进审批节点。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 用户组织 | 管理员、部门、角色、租户 | 用户体系 |
| 审计日志 | 操作日志、登录日志 | 操作与访问日志 |
| 地区 | 行政区划 + IP 归属 | 地区与 IP 库 |
| OAuth | 对外发授权码和令牌 | OAuth 2.0 |
| 三方登录 | 用微信 / 钉钉身份进来 | 三方登录 |
| 邮件 | 账号、模板、发送记录 | 邮件配置 |
| 短信 | 渠道、模板、回调 | 短信配置 |
| 站内信 | 模板、消息、铃铛 | 站内信 |
不要用目录名当流程 key
系统模块没有审批单据。用车是 oa_car_apply_bill,入职是 hr_employee_entry_bill。菜单字段 processDefinitionKey 只是绑业务单,不是本模块的 key。
数据表 ER
主干表按本仓库 DO 画出。令牌、绑定、日志还有附属表,图上只留主链。
示意图:按本仓库生成的 ER。管理员表名是 system_users,避开 SQL Server 关键字。
前后端代码
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 模块 | api 枚举 + server 实现 | ruoyi-office/yudao-module-system/ |
| 单体引入 | yudao-module-system-server | ruoyi-office/yudao-server/pom.xml |
| 用户接口 | @RequestMapping("/system/user") | .../controller/admin/user/UserController.java |
| 管理端 | 系统目录 | ruoyi-office-vben/apps/web-antd/src/views/system/ |
官方菜单:1 系统管理(/system)。用户 100(/system/user),组织 103(/system/dept),角色 101。日志目录 108,OAuth 目录 1261,三方 2447,消息中心 2739。看不到菜单先查角色和租户套餐。

本系统截图:系统管理 → 用户管理。账号、部门、状态在这一张主表。

本系统截图:系统管理 → 审计日志 → 操作日志。平台能力都挂在当前登录人上。
功能开启
单体 -P boot 时已经依赖系统实现,没有单独的「系统开关」页。启动 YudaoServerApplication 即可。租户套餐只裁菜单,不关模块。
客户默认包 ruoyi-office-db/dump/latest/:先 schema_*.sql 再 static_data_*.sql,带 system_* 表、菜单和字典。以后改表走 ruoyi-office-db/update/。
示意图:先库和菜单,再配主数据,最后开通道。
旧文 系统功能开启 已并入本页,请收藏本篇。
