- 后端:RlzDispatch/Profit/Promotion/Region 控制器、服务、Mapper、领域模型 - 权限:MethodSecurityConfig + PermissionInterceptor - 管理后台:派单/分润/推广/区域 页面与 API - Android 陪护端:派单/运营/退款 Fragment 及布局 - 小程序:推广员子包、派单/运营/退款/检索子包、自定义 tabBar - 文档:多角色系统方案、角色权限矩阵、用户操作手册等 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
179 lines
6.7 KiB
Markdown
179 lines
6.7 KiB
Markdown
# 瑞来健康 — 角色权限矩阵
|
|
|
|
> 更新日期: 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 正确渲染
|
|
- [ ] 角色切换后功能权限同步更新
|