⚖️ 律所多层级权限与审批系统设计(接口级 + 审批流)

一、项目背景

本系统用于律所内部管理,包含多分所、多部门、多角色的协同管理体系,同时支持:

  • 多级组织结构(总管理 / 分所 / 部门 / 员工)
  • 接口级权限控制(API级)
  • 数据权限控制(分所 / 部门 / 下级 / 自己)
  • 权限申请与审批流(支持超时流转)
  • 岗位体系(律师 / 人事 / 财务等)

二、整体设计思想

系统采用:

组织层级 + RBAC权限模型 + 数据权限 + 工作流审批系统

核心拆分:

组织体系(谁属于谁)
+ 权限体系(能做什么)
+ 数据范围(能看什么)
+ 审批流(能否临时授权)
 

三、组织与用户体系设计


1️⃣ 用户表(user)

字段名 类型 说明
id BIGINT 用户ID
username VARCHAR(50) 用户名
password VARCHAR(100) 密码(加密)
status TINYINT 状态
role_type VARCHAR(30) 角色类型(核心)
parent_id BIGINT 上级用户ID(强组织关系)
law_firm_id BIGINT 所属分所
dept_id BIGINT 所属部门
created_at DATETIME 创建时间

role_type 枚举

说明
SUPER_ADMIN 总管理(唯一)
FIRM_ADMIN 分所管理员
DEPT_ADMIN 部门管理员
EMPLOYEE 普通员工

2️⃣ 分所表(law_firm)

字段名 类型 说明
id BIGINT 分所ID
name VARCHAR(100) 分所名称
created_by BIGINT 创建人(总管理)
created_at DATETIME 创建时间

3️⃣ 部门表(department)

字段名 类型 说明
id BIGINT 部门ID
name VARCHAR(100) 部门名称
law_firm_id BIGINT 所属分所
created_by BIGINT 创建人(分所管理员)
created_at DATETIME 创建时间

四、权限体系(接口级 RBAC)


4️⃣ 权限表(permission)

字段名 类型 说明
id BIGINT 权限ID
name VARCHAR(100) 权限名称
code VARCHAR(100) 权限标识(如 user:delete)
path VARCHAR(200) 接口路径
method VARCHAR(10) 请求方式
created_at DATETIME 创建时间

5️⃣ 角色权限表(role_permission)

👉 角色直接使用 role_type(不单独建角色表)

字段名 类型 说明
role_type VARCHAR(30) 角色类型
permission_id BIGINT 权限ID

五、岗位体系(业务身份)


6️⃣ 岗位表(position)

字段名 类型 说明
id BIGINT 岗位ID
name VARCHAR(50) 岗位名称
code VARCHAR(50) 标识

7️⃣ 用户岗位表(user_position)

字段名 类型 说明
user_id BIGINT 用户ID
position_id BIGINT 岗位ID

六、权限申请与审批流系统


8️⃣ 权限申请表(permission_apply)

字段名 类型 说明
id BIGINT 申请ID
user_id BIGINT 申请人
permission_id BIGINT 申请权限
status VARCHAR(20) 状态
current_approver_id BIGINT 当前审批人
created_at DATETIME 创建时间
finished_at DATETIME 完成时间

status

说明
PENDING 审批中
APPROVED 已通过
REJECTED 已拒绝
CLOSED 结束

9️⃣ 审批流转记录表(apply_flow_log)

字段名 类型 说明
id BIGINT 主键
apply_id BIGINT 申请ID
from_user_id BIGINT 上级
to_user_id BIGINT 当前审批人
action VARCHAR(20) 操作类型
action_time DATETIME 时间
remark VARCHAR(255) 备注

action

说明
SUBMIT 提交
APPROVE 同意
REJECT 拒绝
TRANSFER 转交
TIMEOUT_TRANSFER 超时转交

🔟 审批策略表(apply_strategy)

字段名 类型 说明
id BIGINT ID
role_type VARCHAR(30) 当前审批角色
timeout_minutes INT 超时时间
next_type VARCHAR(30) 流转规则
created_at DATETIME 创建时间

next_type

说明
SUPERIOR 上级
OTHER_MANAGER 同级主管
FIRM_ADMIN 分所管理员
NONE 停止流转

七、系统核心规则


1️⃣ 组织关系(强约束)

角色 上级
总管理
分所管理员 总管理
部门管理员 分所管理员
员工 部门管理员

👉 通过:

parent_id 强制绑定
 

2️⃣ 权限控制(接口级)

流程:

用户 → role_type → role_permission → permission → API
 

3️⃣ 数据权限控制

role_type 数据范围
SUPER_ADMIN 全部
FIRM_ADMIN 本分所
DEPT_ADMIN 本部门
EMPLOYEE 自己

4️⃣ 审批流规则

  • 默认向上级审批
  • 超时自动流转
  • 单次只允许一个接收人
  • 最终停留在分所管理员或最后处理人

八、系统架构总结

 
用户体系(组织关系)

RBAC权限(接口控制)

数据权限(查询范围)

审批流系统(临时授权)
 

九、性能设计说明

✔ 权限缓存(登录加载)
✔ 接口权限内存判断
✔ 数据权限SQL索引优化
✔ 审批流异步处理


十、总结

该系统本质是:

一个“强组织约束 + 接口级权限 + 数据权限 + 审批流”的企业级权限平台

适用于:

  • 律所系统
  • 物业系统
  • OA系统
  • SaaS后台系统
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容