Files
rlz/docs/角色权限矩阵.md
renjianbo 805ed0298b feat: 新增多角色系统(派单/分润/推广/区域)
- 后端:RlzDispatch/Profit/Promotion/Region 控制器、服务、Mapper、领域模型
- 权限:MethodSecurityConfig + PermissionInterceptor
- 管理后台:派单/分润/推广/区域 页面与 API
- Android 陪护端:派单/运营/退款 Fragment 及布局
- 小程序:推广员子包、派单/运营/退款/检索子包、自定义 tabBar
- 文档:多角色系统方案、角色权限矩阵、用户操作手册等

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-12 00:09:45 +08:00

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 正确渲染
  • 角色切换后功能权限同步更新