优化排行榜:隐藏管理员 + 盖世神豪榜单位改为枚
- 所有榜单查询排除 user_level >= superLevel 的管理员 - 盖世神豪榜单位从'万'改为'枚' - 缓存的查询也会过滤管理员(缓存到期后自动生效)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
@include('leaderboard.partials.list', [
|
||||
'users' => $topWealth,
|
||||
'valueField' => 'jjb',
|
||||
'unit' => '万',
|
||||
'unit' => '枚',
|
||||
'color' => 'text-yellow-600',
|
||||
])
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user