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