feat: 增强代理和玩家管理功能

- 在多个控制器中更新权限检查逻辑,确保管理员能够更灵活地管理代理和玩家。
- 在 AdminPlayerStoreController 中引入对玩家创建能力的验证,确保只有具备相应权限的管理员能够创建玩家。
- 更新请求验证逻辑,新增 credit_limit、rebate_rate 和 extra_rebate_rate 字段,以支持更细粒度的玩家管理。
- 在 AgentNodeProfileController 中添加对父代理能力授予的验证,确保子代理的权限在父代理范围内。
- 引入 AgentProfileFieldRules 以简化代理资料更新请求的规则定义,提升代码复用性。
This commit is contained in:
2026-06-04 18:00:50 +08:00
parent 96545f87f6
commit a44679665d
183 changed files with 10054 additions and 857 deletions

View File

@@ -20,6 +20,9 @@ return [
'player_wallet_balance_blocks_delete' => 'Player wallet still has balance. Clear it before deletion.',
'player_has_tickets_blocks_delete' => 'Player has ticket records and cannot be deleted.',
'role_cannot_delete_super_admin' => 'Cannot delete the super admin role.',
'platform_roles_fixed' => 'Only the built-in Super Admin and Agent platform roles are supported; creating new roles is disabled.',
'role_super_admin_permissions_fixed' => 'Super Admin always has full permissions. Run lottery:admin-auth-sync after the permission catalog changes.',
'role_super_admin_metadata_fixed' => 'Super Admin is a built-in role; name and status cannot be changed.',
'role_builtin_cannot_delete' => 'Built-in roles cannot be deleted.',
'role_has_users_cannot_delete' => 'This role still has assigned admins and cannot be deleted.',
'agent_root_delete_denied' => 'Root agent nodes cannot be deleted.',

View File

@@ -12,4 +12,7 @@ return [
'8003' => 'Player not registered', // 库中无对应玩家
'8004' => 'SSO secret not configured', // 未配置 MAIN_SITE_SSO_JWT_SECRET通常返回 503
'8005' => 'Account suspended or login disabled',
'8006' => 'Invalid username or password',
'8007' => 'Too many failed attempts. Try again later',
'8008' => 'Please sign in through the main site',
];

View File

@@ -59,4 +59,14 @@ return [
'items.*.odds_value' => 'odds',
'items.*.display_name' => 'display name',
'report_type' => 'report type',
'total_share_rate' => 'share rate',
'credit_limit' => 'credit limit',
'rebate_limit' => 'rebate ceiling',
'default_player_rebate' => 'default player rebate',
'rebate_rate' => 'rebate rate',
'extra_rebate_rate' => 'extra rebate rate',
'settlement_cycle' => 'settlement cycle',
'can_grant_extra_rebate' => 'allow extra rebate',
'can_create_child_agent' => 'allow child agents',
'can_create_player' => 'allow players',
];

View File

@@ -15,6 +15,7 @@ return [
'1008' => 'Invalid amount; enter a positive integer in minor units',
'1009' => 'Main wallet operation failed; please try again later',
'1010' => 'Do not reuse an idempotency key with different transfer parameters',
'1011' => 'Wallet transfers are not available for credit-line players',
'2001' => 'The current draw is already closed',
'2002' => 'This play is closed',
'2003' => 'Insufficient balance. Please transfer in before betting',