You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 KiB
11 KiB
超级管理员 — 业务流转逻辑
版本: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推送)