From 8c05e0fb83c24b253d45c394b051bda3405fd7bd Mon Sep 17 00:00:00 2001 From: lkddi Date: Fri, 27 Feb 2026 00:33:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=92=E8=A1=8C=E6=A6=9C?= =?UTF-8?q?=EF=BC=9A=E9=9A=90=E8=97=8F=E7=AE=A1=E7=90=86=E5=91=98=20+=20?= =?UTF-8?q?=E7=9B=96=E4=B8=96=E7=A5=9E=E8=B1=AA=E6=A6=9C=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=9E=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 所有榜单查询排除 user_level >= superLevel 的管理员 - 盖世神豪榜单位从'万'改为'枚' - 缓存的查询也会过滤管理员(缓存到期后自动生效) --- app/Http/Controllers/LeaderboardController.php | 15 +++++++++++---- resources/views/leaderboard/index.blade.php | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/LeaderboardController.php b/app/Http/Controllers/LeaderboardController.php index fc9de5c..463280a 100644 --- a/app/Http/Controllers/LeaderboardController.php +++ b/app/Http/Controllers/LeaderboardController.php @@ -26,10 +26,14 @@ class LeaderboardController extends Controller // 选用 remember 则在过期时自动执行闭包查询并重置缓存 $ttl = 60 * 15; + // 管理员等级阈值,排行榜中隐藏管理员 + $superLevel = (int) \App\Models\Sysparam::getValue('superlevel', '100'); + // 1. 境界榜 (以 user_level 为尊) - $topLevels = Cache::remember('leaderboard:top_levels', $ttl, function () { + $topLevels = Cache::remember('leaderboard:top_levels', $ttl, function () use ($superLevel) { return User::select('id', 'username', 'usersf', 'user_level', 'sex') ->where('user_level', '>', 0) + ->where('user_level', '<', $superLevel) ->orderByDesc('user_level') ->orderBy('id') ->limit(20) @@ -37,9 +41,10 @@ class LeaderboardController extends Controller }); // 2. 修为榜 (以 exp_num 为尊) - $topExp = Cache::remember('leaderboard:top_exp', $ttl, function () { + $topExp = Cache::remember('leaderboard:top_exp', $ttl, function () use ($superLevel) { return User::select('id', 'username', 'usersf', 'exp_num', 'sex', 'user_level') ->where('exp_num', '>', 0) + ->where('user_level', '<', $superLevel) ->orderByDesc('exp_num') ->orderBy('id') ->limit(20) @@ -47,9 +52,10 @@ class LeaderboardController extends Controller }); // 3. 财富榜 (以 jjb-交友币 为尊) - $topWealth = Cache::remember('leaderboard:top_wealth', $ttl, function () { + $topWealth = Cache::remember('leaderboard:top_wealth', $ttl, function () use ($superLevel) { return User::select('id', 'username', 'usersf', 'jjb', 'sex', 'user_level') ->where('jjb', '>', 0) + ->where('user_level', '<', $superLevel) ->orderByDesc('jjb') ->orderBy('id') ->limit(20) @@ -57,9 +63,10 @@ class LeaderboardController extends Controller }); // 4. 魅力榜 (以 meili 为尊) - $topCharm = Cache::remember('leaderboard:top_charm', $ttl, function () { + $topCharm = Cache::remember('leaderboard:top_charm', $ttl, function () use ($superLevel) { return User::select('id', 'username', 'usersf', 'meili', 'sex', 'user_level') ->where('meili', '>', 0) + ->where('user_level', '<', $superLevel) ->orderByDesc('meili') ->orderBy('id') ->limit(20) diff --git a/resources/views/leaderboard/index.blade.php b/resources/views/leaderboard/index.blade.php index 7faf4b0..ed97e3c 100644 --- a/resources/views/leaderboard/index.blade.php +++ b/resources/views/leaderboard/index.blade.php @@ -86,7 +86,7 @@ @include('leaderboard.partials.list', [ 'users' => $topWealth, 'valueField' => 'jjb', - 'unit' => '万', + 'unit' => '枚', 'color' => 'text-yellow-600', ])