# 瑞来健康 — 角色权限矩阵 > 更新日期: 2026-06-08 --- ## 一、角色定义 | role_id | role_key | 角色名称 | user_type | 适用端 | |---------|----------|----------|-----------|--------| | 1 | admin | 超级管理员 | 0C | 管理后台 | | 2 | common | 普通用户 | 00 | 小程序 | | 103 | operations | 运营经理 | 03 | 管理后台/小程序 | | 104 | service | 客服专员 | 04 | 管理后台/小程序 | | 105 | dispatcher | 调度员 | 05 | 管理后台/小程序 | | 106 | promoter | 推广员 | 06 | 管理后台/小程序 | | - | caregiver | 陪诊师 | 01 | 小程序/App | | - | patient | 患者/客户 | 00 | 小程序 | --- ## 二、用户类型 (user_type) 枚举 | user_type | 名称 | 说明 | |-----------|------|------| | 00 | 患者/客户 | 需要陪诊服务的用户 | | 01 | 陪诊师 | 提供陪诊服务的从业人员 | | 03 | 运营经理 | 管理指定区域业务 | | 04 | 客服专员 | 处理退款/纠纷工单 | | 05 | 调度员 | 订单派单与陪诊师调度 | | 06 | 推广员 | 推广获客赚佣金 | | 0B | 机构 | 医疗机构/合作伙伴 | | 0C | 管理员 | 平台超级管理员 | --- ## 三、管理后台菜单权限 | 菜单 | 超级管理员 | 运营经理 | 客服 | 调度员 | 推广员 | |------|:---------:|:------:|:---:|:----:|:-----:| | 系统管理-用户管理 | O | O | - | - | - | | 系统管理-角色管理 | O | - | - | - | - | | 系统管理-菜单管理 | O | - | - | - | - | | 系统管理-部门管理 | O | - | - | - | - | | 系统管理-岗位管理 | O | - | - | - | - | | 系统管理-字典管理 | O | O | - | - | - | | 系统管理-通知公告 | O | O | O | O | O | | 系统管理-医院管理 | O | O | - | - | - | | 系统管理-服务类型 | O | O | - | - | - | | 推广管理 | O | O | - | - | O | | 区域管理 | O | O | - | - | - | | 调度管理 | O | O | - | O | - | | 财务管理-退款审核 | O | O | O | - | - | | 财务管理-结算管理 | O | O | - | - | - | | 财务管理-平台配置 | O | O | - | - | - | | 财务管理-分润记录 | O | O | O | O | O | | 财务管理-收益明细 | O | O | - | - | - | | 运营看板 | O | O | - | - | - | O = 有权限, - = 无权限 --- ## 四、API 权限 (@PreAuthorize) ### 4.1 推广服务 `/system/promotion/**` | 端点 | 方法 | 权限 | admin | ops | service | dispatcher | promoter | |------|------|------|:----:|:---:|:-------:|:---------:|:--------:| | `/list` | GET | - | O | O | - | - | - | | `/relations` | GET | - | O | O | - | - | - | | `/{id}` | GET | - | O | O | - | - | - | | `/data/{userId}` | GET | - | O | O | - | - | - | | `/byInvited/{id}` | GET | - | O | O | - | - | - | | `/byPromoter/{id}` | GET | - | O | O | - | - | - | | POST `/` | POST | system:promotion:add | O | - | - | - | - | | PUT `/` | PUT | system:promotion:edit | O | - | - | - | - | | DELETE `/{ids}` | DELETE | system:promotion:remove | O | - | - | - | - | | `/myStats` | GET | - | O | O | O | O | O | | `/team` | GET | - | O | O | O | O | O | | `/myCommission` | GET | - | O | O | O | O | O | | `/generateCode` | POST | - | O | O | O | O | O | ### 4.2 分润服务 `/system/profit/**` | 端点 | 方法 | 权限 | admin | ops | service | dispatcher | promoter | |------|------|------|:----:|:---:|:-------:|:---------:|:--------:| | `/list` | GET | - | O | O | - | - | - | | `/stats` | GET | - | O | O | O | - | - | | `/{id}` | GET | - | O | O | - | - | - | | `/byOrder/{id}` | GET | - | O | O | O | O | O | | `/byUser/{id}` | GET | - | O | O | O | O | O | | `/balance/{id}` | GET | - | O | O | O | O | O | | `/myRecords` | GET | - | O | O | O | O | O | | `/myBalance` | GET | - | O | O | O | O | O | | POST `/calculate/{id}` | POST | system:profit:calculate | O | - | - | - | - | | POST `/reverse/{id}` | POST | system:profit:reverse | O | - | - | - | - | ### 4.3 调度服务 `/system/dispatch/**` | 端点 | 方法 | 权限 | admin | ops | dispatcher | |------|------|------|:----:|:---:|:---------:| | `/pending` | GET | system:dispatch:list | O | O | O | | `/caregivers` | GET | system:dispatch:list | O | O | O | | `/caregivers/{hospitalId}` | GET | system:dispatch:list | O | O | O | | `/history` | GET | system:dispatch:list | O | O | O | | `/assign/{orderId}/{cgId}` | POST | system:dispatch:assign | O | O | O | ### 4.4 区域服务 `/system/region/**` | 端点 | 方法 | 权限 | admin | ops | |------|------|------|:----:|:---:| | `/list` | GET | - | O | O | | `/stats` | GET | - | O | O | | `/{id}` | GET | - | O | O | | `/children/{id}` | GET | - | O | O | | POST `/` | POST | system:region:add | O | - | | PUT `/` | PUT | system:region:edit | O | - | | DELETE `/{ids}` | DELETE | system:region:remove | O | - | ### 4.5 退款流程 | 端点 | 方法 | 权限 | admin | ops | service | |------|------|------|:----:|:---:|:-------:| | `/system/order/applyRefund/{id}` | POST | - | O | O | O | | `/system/order/refundOrder/{id}` | GET | - | O | O | O | | `/system/view/refundApprove/{id}` | PUT | system:order:edit | O | O | O | --- ## 五、数据权限隔离 | 角色 | 数据范围 | |------|----------| | 超级管理员 | 全部数据 | | 运营经理 | 本区域(region_id)及其下级区域数据 | | 客服专员 | 全部退款工单(无区域限制) | | 调度员 | 本区域的待派单订单 + 自己的派单记录 | | 推广员 | 自己的推广关系 + 团队数据 + 佣金记录 | | 陪诊师 | 自己的订单 + 服务收入 | | 患者 | 自己的订单 + 支付记录 | --- ## 六、小程序/App 角色功能权限 | 功能 | 患者 | 陪诊师 | 推广员 | 调度员 | 客服 | 运营 | |------|:---:|:----:|:-----:|:-----:|:---:|:---:| | 浏览服务/下单 | O | - | - | - | - | - | | 查看我的订单 | O | - | - | - | - | - | | 支付/退款申请 | O | - | - | - | - | - | | 接单/拒单 | - | O | - | - | - | - | | 开始/完成服务 | - | O | - | - | - | - | | 查看收入/余额 | - | O | O | - | - | - | | 提现 | - | O | O | - | - | - | | 推广看板 | - | - | O | - | - | - | | 我的团队 | - | - | O | - | - | - | | 佣金明细 | - | - | O | - | - | - | | 生成邀请码 | - | - | O | - | - | - | | 调度面板 | - | - | - | O | - | - | | 指派/改派 | - | - | - | O | - | - | | 退款审核 | - | - | - | - | O | - | | 运营看板 | - | - | - | - | - | O | | 区域数据 | - | - | - | - | - | O | | 角色切换 | O | O | O | O | O | O | --- ## 七、权限配置检查清单 部署后验证以下内容: - [ ] 各角色能登录对应端(管理后台/小程序/App) - [ ] 管理后台菜单根据角色正确显示/隐藏 - [ ] API `@PreAuthorize` 权限校验生效(无权限返回 403) - [ ] 数据权限隔离: 运营经理只看本区域, 陪诊师只看自己订单 - [ ] 小程序 TabBar 根据 user_type 正确渲染 - [ ] 角色切换后功能权限同步更新