升鲜宝 SaaS 平台后台数据库结构(含菜单/权限)最终版(MySQL)
升鲜宝 SaaS 平台后台数据库结构(含菜单/权限)最终版(MySQL)
作用:给 SaaS 平台运营后台(saas-admin) 使用
范围:账号/角色/权限/菜单/数据权限/操作审计/字典/参数/多端路由
数据库:saas_master_db(平台主库)
约定:
id BIGINT(你们用 LoveInWayIdGenerator 即可)
enabled:1启用 0禁用
del_flag:0正常 1删除(软删)
version:乐观锁
create_date / update_date:毫Hook时间戳(BIGINT)所有表带 COMMENT + 索引
1. 权限模型说明(RBAC + 菜单权限 + 数据权限)
-
用户 sys_user ←→ 角色 sys_role(多对多)
-
角色 sys_role ←→ 权限 sys_permission(多对多)
-
菜单 sys_menu:用于渲染后台路由(Vue3)与按钮权限挂载
-
权限 sys_permission:可绑定到菜单(menu_id),也可独立做 API 权限
-
数据权限 sys_role_data_scope:控制“可见租户范围/分片范围/模块范围”等
2. DDL(完整建表脚本)
你可以直接整段执行(建议按顺序建表)。
字符集:utf8mb4
2.1 用户与组织
2.1.1 sys_user(平台用户)
2.1.2 sys_dept(部门)
2.2 角色与权限(RBAC)
2.2.1 sys_role(角色)
2.2.2 sys_user_role(用户-角色关联)
2.2.3 sys_menu(菜单/路由)
Vue3 路由渲染用,支持目录/菜单/按钮。
2.2.4 sys_permission(权限点:API/按钮/数据权限入口)
推荐把“接口权限”统一落这里,菜单只是展示;权限才是控制点。
perm_value例如:saas:tenant:create、saas:billing:invoice:recalc
2.2.5 sys_role_permission(角色-权限关联)
2.3 数据权限(平台运营看“哪些租户/哪些分片/哪些模块”)
2.3.1 sys_role_data_scope(角色数据范围)
用于限制运营账号能看到哪些租户:
全部租户
指定租户列表
指定分片 shard_id
指定模块 module_code(例如只负责 POS 客户)
2.4 登录与审计
2.4.1 sys_login_log(登录日志)
2.4.2 sys_operate_log(操作审计日志)
建议:所有“租户冻结/解冻、账单重算、套餐改价、分片迁移”等都记录。
2.5 字典与参数配置(平台配置中心)
2.5.1 sys_dict_type(字典类型)
2.5.2 sys_dict_item(字典项)
2.5.3 sys_param(系统参数)
用于:宽限期天数、账单生成提前天数、默认税率、默认币种、短信模板等
2.6(可选)菜单与权限的“预置发布版本”
如果你希望“菜单/权限随版本升级”,建议加一张发布表记录后台菜单权限版本。
2.6.1 sys_acl_release(权限发布记录)
3. 菜单与权限建议(升鲜宝 SaaS 后台标准)
3.1 一级菜单建议(menu_code)
-
TENANT_CENTER(租户中心)
-
PRICING_CENTER(套餐与定价)
-
SUBSCRIPTION_CENTER(订阅管理)
-
BILLING_CENTER(账单与计费)
-
PAYMENT_CENTER(支付与对账)
-
ENTITLEMENT_CENTER(授权与配额)
-
SHARD_CENTER(分片与数据库)
-
USAGE_CENTER(用量与报表)
-
OPERATION_CENTER(运营控制)
-
AUDIT_CENTER(风控与审计)
-
CHANNEL_CENTER(渠道与代理)
-
SYSTEM_CENTER(系统配置)
3.2 权限表达式(perm_value)命名规范
建议统一:saas:<domain>:<resource>:<action>
示例:
-
saas:tenant:list -
saas:tenant:create -
saas:tenant:freeze -
saas:plan:update -
saas:billing:invoice:recalc -
saas:shard:migrate -
saas:system:param:update
4. 预置角色建议(sys_role)
-
SUPER_ADMIN(超级管理员)
-
OPS_ADMIN(运营管理员)
-
FINANCE_ADMIN(财务管理员)
-
SUPPORT_ADMIN(客服/技术支持)
-
CHANNEL_MANAGER(渠道经理)
-
READ_ONLY(只读审计)
5. 落地注意事项(你们生产一定会遇到)
-
菜单是展示,权限才是控制:后端鉴权必须以
sys_permission.perm_value为准 -
按钮权限:建议按钮也生成一条 sys_permission(perm_type=2),并把 perms_code 同步到前端
-
数据权限:运营人员只允许看自己负责的租户(
sys_role_data_scope) -
操作日志必须脱敏:手机号、邮箱、密码、支付信息、密钥必须打码
-
平台后台与业务系统分开:后台只操作平台库(必要时只读租户库做分析)

浙公网安备 33010602011771号