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.
houqin-java/docs/03-业务流转逻辑-超级管理员.md

11 KiB

超级管理员 — 业务流转逻辑

版本v4.0 超级管理员负责平台运营,管理账号、权限与系统配置,不查看业务数据。 端侧仅Web端 关联文档:01-模块划分.mdv4.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推送