|
|
# 超级管理员 — 业务流转逻辑
|
|
|
|
|
|
> 版本:v4.0
|
|
|
> 超级管理员负责平台运营,管理账号、权限与系统配置,**不查看业务数据**。
|
|
|
> 端侧:仅Web端
|
|
|
> 关联文档:`01-模块划分.md`(v4.0)、`02-功能清单-超级管理员.md`
|
|
|
|
|
|
---
|
|
|
|
|
|
## 1. 新建使用单位流程
|
|
|
|
|
|
```
|
|
|
超级管理员登录后台
|
|
|
│
|
|
|
点击"新增使用单位"
|
|
|
│
|
|
|
┌─── 第1步:填写医院信息 ────────────────────────┐
|
|
|
│ 医院名称 │
|
|
|
│ 医院地址 │
|
|
|
│ 院区列表(支持多院区): │
|
|
|
│ ├── 院区1:主院区 / 地址 / 联系人 │
|
|
|
│ ├── 院区2:东院区 / 地址 / 联系人 │
|
|
|
│ └── 院区3:南院区 / 地址 / 联系人 │
|
|
|
└───────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 第2步:填写物业公司信息 ──────────────────────┐
|
|
|
│ 公司名称 / 公司地址 / 联系人 │
|
|
|
└───────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 第3步:创建医院账号 ──────────────────────────┐
|
|
|
│ 登录账号 / 初始密码 / 绑定医院 │
|
|
|
│ 设置账号有效期(必填,到期日) │
|
|
|
│ 分配角色(选择"医院查看模板"或其他预设模板) │
|
|
|
└───────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 第4步:创建物业公司管理员账号 ─────────────────┐
|
|
|
│ 登录账号 / 初始密码 / 绑定物业公司+医院 │
|
|
|
│ 设置账号有效期(必填,到期日) │
|
|
|
│ 分配角色(选择"物业管理员模板"或其他预设模板) │
|
|
|
└───────────────────────────────────────────────────┘
|
|
|
│
|
|
|
创建完成 → 自动记录操作日志
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 2. 账号可用性控制流程
|
|
|
|
|
|
```
|
|
|
超级管理员选择账号 → 启用/禁用
|
|
|
│
|
|
|
禁用时:
|
|
|
→ 账号立即无法登录
|
|
|
→ 已登录的session失效
|
|
|
→ 微信小程序端同步下线(数据来源:物业公司系统的下属账号)
|
|
|
→ 保留所有历史数据
|
|
|
→ 记录操作日志
|
|
|
│
|
|
|
启用时:
|
|
|
→ 账号恢复正常登录
|
|
|
→ 可选重置密码
|
|
|
→ 记录操作日志
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 3. 账号有效期与到期提醒流程
|
|
|
|
|
|
```
|
|
|
超级管理员创建/编辑医院或物业公司账号
|
|
|
│
|
|
|
设置账号有效期(到期日)
|
|
|
│
|
|
|
系统按到期提醒规则(超管在系统配置中设定的天数阈值)自动检测
|
|
|
│
|
|
|
到期前N天,用户登录时弹出到期提醒弹窗
|
|
|
│
|
|
|
┌─── 弹窗行为 ────────────────────────┐
|
|
|
│ 提示"您的账号将于X天后到期" │
|
|
|
│ 用户点击"我知道了"关闭弹窗 │
|
|
|
│ 关闭后可正常使用,不影响功能 │
|
|
|
└──────────────────────────────────────┘
|
|
|
│
|
|
|
账号过期后
|
|
|
│
|
|
|
┌─── 过期行为 ────────────────────────┐
|
|
|
│ 账号禁止登录 │
|
|
|
│ 超级管理员可手动续期恢复 │
|
|
|
│ 记录续期操作日志 │
|
|
|
└──────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
**到期账号管理流程:**
|
|
|
```
|
|
|
超级管理员进入"到期账号管理"
|
|
|
│
|
|
|
查看即将到期/已过期账号列表(数据来源:本系统sys_user表)
|
|
|
│
|
|
|
选择账号 → 手动续期(修改有效期)
|
|
|
│
|
|
|
续期成功 → 账号恢复可用 → 记录操作日志
|
|
|
```
|
|
|
|
|
|
> **说明:** 物业下属人员(主管/员工)不单独设有效期,随物业公司管理员账号到期而自动失效。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 4. 角色定义与权限分配流程
|
|
|
|
|
|
```
|
|
|
超级管理员进入"权限管理"
|
|
|
│
|
|
|
┌─── 第1步:创建角色 ──────────────────────┐
|
|
|
│ 角色名称(自定义) │
|
|
|
│ 角色描述 │
|
|
|
│ 适用范围(医院账号/物业管理员/物业下属) │
|
|
|
│ 选择预设模板(可选,选择后自动填充权限) │
|
|
|
└──────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 第2步:分配权限(四级树形勾选) ────────────────────────┐
|
|
|
│ ☑ 功能菜单:在线报修 │
|
|
|
│ ├── ☑ 页面:工单列表 │
|
|
|
│ │ ├── ☑ 功能点:工单管理 │
|
|
|
│ │ │ ├── ☑ 查看 ☑ 新增 ☑ 编辑 │
|
|
|
│ │ │ ├── ☐ 删除 ☐ 审批 ☑ 导出 ☑ 分配 │
|
|
|
│ │ └── ☑ 功能点:批量操作 │
|
|
|
│ │ ├── ☑ 查看 ☑ 新增 ☐ 编辑 │
|
|
|
│ │ └── ☐ 删除 ☐ 审批 ☐ 导出 ☐ 分配 │
|
|
|
│ ├── ☑ 页面:工单详情 │
|
|
|
│ │ ├── ☑ 功能点:延期审批 │
|
|
|
│ │ │ ├── ☑ 查看 ☐ 新增 ☐ 编辑 │
|
|
|
│ │ │ └── ☐ 删除 ☑ 审批 ☐ 导出 ☐ 分配 │
|
|
|
│ │ └── ☑ 功能点:工单验收 │
|
|
|
│ │ ├── ☑ 查看 ☐ 新增 ☐ 编辑 │
|
|
|
│ │ └── ☐ 删除 ☑ 审批 ☐ 导出 ☐ 分配 │
|
|
|
│ └── ☐ 页面:报修类型管理 │
|
|
|
│ ... │
|
|
|
│ ☐ 功能菜单:巡检管理 │
|
|
|
│ ... │
|
|
|
└───────────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 第3步:保存角色 ──────────────────────┐
|
|
|
│ 记录权限审计日志(变更前后对比) │
|
|
|
│ 权限实时生效 │
|
|
|
└──────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 5. 权限自动同步流程
|
|
|
|
|
|
```
|
|
|
开发人员新增功能(菜单/页面/功能点)
|
|
|
│
|
|
|
在权限配置表中注册:
|
|
|
menu_code: "repair"
|
|
|
menu_name: "在线报修"
|
|
|
page_code: "repair_list"
|
|
|
page_name: "工单列表"
|
|
|
action_code: "repair_list_manage"
|
|
|
action_name: "工单管理"
|
|
|
available_actions: ["view","create","update","delete","approve","export","assign"]
|
|
|
│
|
|
|
系统启动时自动扫描权限配置表
|
|
|
│
|
|
|
权限管理页面自动渲染新的可勾选项
|
|
|
│
|
|
|
超级管理员可为角色分配新权限
|
|
|
│
|
|
|
记录权限变更审计日志
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 6. 权限实时生效流程
|
|
|
|
|
|
```
|
|
|
权限变更操作(超级管理员修改角色权限)
|
|
|
│
|
|
|
更新数据库权限记录
|
|
|
│
|
|
|
发送权限变更事件(Redis Pub/Sub + Spring Event,毫秒级生效)
|
|
|
│
|
|
|
所有服务实例接收事件 → 刷新本地权限缓存
|
|
|
│
|
|
|
已登录用户下次操作时自动加载新权限(无需重新登录)
|
|
|
│
|
|
|
Web端:下次页面跳转/刷新时加载新权限 → 动态更新菜单和按钮
|
|
|
│
|
|
|
小程序端(数据来源:物业公司的下属人员):下次接口请求时返回新权限集 → 动态更新界面
|
|
|
│
|
|
|
记录权限审计日志
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 7. 数据权限校验流程
|
|
|
|
|
|
```
|
|
|
用户发起操作请求
|
|
|
│
|
|
|
┌── 第1层:功能权限校验 ──┐
|
|
|
│ 用户是否有该功能点的对应动作权限? │
|
|
|
│ → 否:返回403,提示无权限 │
|
|
|
└────────────────────────┘
|
|
|
│ (是)
|
|
|
┌── 第2层:数据权限校验 ──┐
|
|
|
│ 超级管理员 → 仅系统配置与账号数据 │
|
|
|
│ 医院账号 → 本医院+关联物业公司数据 │
|
|
|
│ 物业管理员 → 绑定医院数据 │
|
|
|
│ 主管 → 本班组数据 │
|
|
|
│ 员工 → 仅本人数据 │
|
|
|
│ │
|
|
|
│ → 自动在SQL中注入数据范围条件 │
|
|
|
│ → 超出范围的数据不可见 │
|
|
|
└────────────────────────┘
|
|
|
```
|
|
|
|
|
|
> **关键规则:** 超级管理员仅可查看系统配置与账号数据,**不涉及任何业务数据**(报修、巡检、保洁、考勤、评价、合同、招标等)。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 8. 操作日志流程
|
|
|
|
|
|
### 8.1 日志记录范围
|
|
|
|
|
|
| 模块 | 记录的操作 |
|
|
|
|------|-----------|
|
|
|
| 权限管理 | 角色创建/修改/删除、权限分配/变更 |
|
|
|
| 账号管理 | 账号创建/启停/续期/有效期修改 |
|
|
|
| 系统管理 | 配置变更/缓存清理/版本管理 |
|
|
|
|
|
|
### 8.2 权限审计日志特殊展示
|
|
|
|
|
|
权限变更日志额外展示变更前后对比:
|
|
|
|
|
|
```
|
|
|
角色:巡检主管
|
|
|
操作人:超级管理员
|
|
|
操作时间:2026-04-16 14:00:00
|
|
|
操作类型:权限修改
|
|
|
|
|
|
变更对比:
|
|
|
[+新增] 在线报修 → 工单详情 → 延期审批 → 审批
|
|
|
[+新增] 在线报修 → 工单列表 → 工单管理 → 导出
|
|
|
[-移除] 巡检管理 → 巡检计划 → 计划管理 → 删除
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 9. 系统更新与缓存策略
|
|
|
|
|
|
```
|
|
|
后台系统发布更新
|
|
|
│
|
|
|
自动执行缓存清理:
|
|
|
├── 清除权限缓存 → 重新从数据库加载
|
|
|
├── 清除字典缓存 → 重新加载字典数据
|
|
|
├── 清除菜单缓存 → 重新加载菜单配置
|
|
|
└── 清除业务数据缓存 → 按需懒加载
|
|
|
│
|
|
|
缓存清理方式:
|
|
|
├── 自动:系统启动时全量清理
|
|
|
├── 手动:超管在"缓存管理"页面按模块清理
|
|
|
└── 事件驱动:权限变更时定向清理权限缓存
|
|
|
│
|
|
|
通知在线用户刷新页面(WebSocket推送)
|
|
|
```
|