feat: enhance admin role management and reconciliation features
- Updated AGENTS.md to clarify site admin roles and their associated permissions. - Refactored reconciliation controllers to include admin user validation and improved access control based on admin roles. - Enhanced AdminReconcileJobService to support player-specific reconciliation and site-based job creation. - Removed deprecated rebate commission report functionality from the API and related services. - Improved dashboard overview builders to accommodate new site operator roles and their specific functionalities.
This commit is contained in:
@@ -38,7 +38,12 @@ php artisan lottery:admin-auth-audit # 仅体检:受保护路由是
|
||||
|
||||
- 后台查询范围统一为:`site_scope ∩ agent_subtree_scope`。
|
||||
- 新增统一入口 `App\Support\AdminScopePolicy`,查询应优先通过该策略应用数据范围。
|
||||
- `auth/me` 继续返回 `permissions`(`prd.*`)兼容前端,同时新增 `operational_permissions` 字段用于显式表达可操作权限集合。
|
||||
- `auth/me` 字段分工:
|
||||
- `permissions`:legacy `prd.*` 产品权限(侧栏、角色 UI、旧页面门控)
|
||||
- `operational_permissions`:`admin_menu_actions.permission_code`(与 API 中间件鉴权一致)
|
||||
- `account_kind`:`super_admin` | `site_admin` | `site_finance` | `site_cs` | `agent_operator` | `platform_account`
|
||||
|
||||
前端新代码优先使用 `useAdminPermission().hasAnyCode()` 与 `operational_permissions`;`permissions` / `prd.*` 逐步废弃。
|
||||
|
||||
## 已废弃的 `prd.*`(请求体仍可传入,会自动归一)
|
||||
|
||||
@@ -70,8 +75,13 @@ php artisan lottery:admin-auth-audit # 仅体检:受保护路由是
|
||||
|
||||
### 路径 B:平台运营账号(单站)
|
||||
|
||||
1. 平台 **角色管理** 有三个内置角色:**超级管理员**(平台唯一账号,`admin_users.is_super_admin`,不绑定站点,自动拥有全部 `prd.*`)、**站点管理员**(`slug=site_admin`,接入站点自动创建的后台账号默认角色,含站点仪表盘 + 代理/玩家/结算运营)、**代理**(经营主账号默认模板)。若需更细的平台运营分工,可在「平台账号」上绑定 **站点管理员** 或 **代理** 后按需收窄权限;勿授予 `prd.agent-line.provision`、全站接入密钥类权限。
|
||||
2. **系统 → 平台账号 → 新建**:填写账号信息,**选择目标站点**(`admin_site_id`),勾选上一步角色。
|
||||
1. 平台 **角色管理** 内置角色:
|
||||
- **超级管理员**(`is_super_admin`,全库唯一,不绑站点)
|
||||
- **站点管理员**(`slug=site_admin`):接入站点默认主运营;代理/玩家/信用结算/钱包对账/经营报表(含导出)/期号只读
|
||||
- **站点财务**(`slug=site_finance`):财务工作台(对账异常、待确认/待收付账单);对账、报表导出、补单冲正、结算收付;不含代理树经营
|
||||
- **站点客服**(`slug=site_cs`):客服工作台(玩家/今日注单);玩家/注单/单用户钱包查询;不含全局报表与代理
|
||||
- **代理**(`slug=agent`):经营主账号默认模板
|
||||
2. **系统 → 平台账号 → 新建**:填写账号信息,**选择目标站点**(`admin_site_id`),勾选角色(默认接入站自动绑 `site_admin`)。
|
||||
3. 对方登录后仅见绑定站点数据;`auth/me.accessible_sites` 列出可访问站点(单站时一项)。
|
||||
|
||||
改角色绑定时须带上同一 `admin_site_id`(`PUT /api/v1/admin/admin-users/{id}/roles`),仅替换该站点上的角色 pivot,不影响其他站点绑定。
|
||||
|
||||
Reference in New Issue
Block a user