# 超级管理员 — 业务流转逻辑 > 版本: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推送) ```