feat: 增强代理和玩家管理功能
- 在多个控制器中更新权限检查逻辑,确保管理员能够更灵活地管理代理和玩家。 - 在 AdminPlayerStoreController 中引入对玩家创建能力的验证,确保只有具备相应权限的管理员能够创建玩家。 - 更新请求验证逻辑,新增 credit_limit、rebate_rate 和 extra_rebate_rate 字段,以支持更细粒度的玩家管理。 - 在 AgentNodeProfileController 中添加对父代理能力授予的验证,确保子代理的权限在父代理范围内。 - 引入 AgentProfileFieldRules 以简化代理资料更新请求的规则定义,提升代码复用性。
This commit is contained in:
@@ -69,8 +69,7 @@ final class AdminPermissionBridge
|
||||
}
|
||||
|
||||
/**
|
||||
* 若管理员拥有的任意 menu_action.permission_code 落在某 `prd.*` 映射集合内,则视为拥有该 `prd.*`
|
||||
*(与路由中间件「满足其一」及 Next 侧栏 `requiredAny` 语义一致)。
|
||||
* 由已授权的 menu_action.permission_code 反推 `prd.*` 展示 slug(须满足映射中的全部 code)。
|
||||
*
|
||||
* @param list<string> $menuActionCodes
|
||||
* @return list<string>
|
||||
@@ -93,12 +92,21 @@ final class AdminPermissionBridge
|
||||
|
||||
$out = [];
|
||||
foreach (self::legacyMap() as $legacySlug => $requiredCodes) {
|
||||
if ($requiredCodes === []) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$hasAll = true;
|
||||
foreach ($requiredCodes as $code) {
|
||||
if (isset($set[$code])) {
|
||||
$out[$legacySlug] = true;
|
||||
if (! isset($set[$code])) {
|
||||
$hasAll = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($hasAll) {
|
||||
$out[$legacySlug] = true;
|
||||
}
|
||||
}
|
||||
|
||||
$keys = array_keys($out);
|
||||
|
||||
Reference in New Issue
Block a user