新增聊天室成就系统与消息保留策略

This commit is contained in:
pllx
2026-04-30 16:19:49 +08:00
parent 92e3dd0cdf
commit f354516869
26 changed files with 1966 additions and 14 deletions
+4
View File
@@ -14,6 +14,10 @@ Schedule::command('messages:purge')->dailyAt('03:00');
// 每 5 分钟为所有在线用户自动存点(经验/金币/等级)
Schedule::command('chatroom:auto-save-exp')->everyFiveMinutes();
// 每 10 分钟扫描最近活跃用户的成就进度,夜间再做一次全量补算
Schedule::command('achievements:scan')->everyTenMinutes()->withoutOverlapping();
Schedule::command('achievements:scan --all')->dailyAt('03:30')->withoutOverlapping();
// 每 1 分钟为 AI小班长 独立模拟一次挂机心跳,触发随机事件
Schedule::command('chatroom:ai-heartbeat')->everyMinute();
+3
View File
@@ -1,5 +1,6 @@
<?php
use App\Http\Controllers\AchievementController;
use App\Http\Controllers\Admin\AdminAuthController;
use App\Http\Controllers\AdminCommandController;
use App\Http\Controllers\AuthController;
@@ -78,6 +79,7 @@ Route::middleware(['chat.auth'])->group(function () {
// ═══════════════════════════════════════════════════════════════════
Route::get('/leaderboard', [\App\Http\Controllers\LeaderboardController::class, 'index'])->name('leaderboard.index');
Route::get('/leaderboard/today', [\App\Http\Controllers\LeaderboardController::class, 'todayIndex'])->name('leaderboard.today');
Route::get('/achievements', [AchievementController::class, 'index'])->name('achievements.index');
// ═══════════════════════════════════════════════════════════════════
// 邀请排行达人榜
@@ -512,6 +514,7 @@ Route::middleware(['chat.auth', 'chat.has_position'])->prefix('admin')->name('ad
// 全局用户金币/积分流水
Route::get('/currency-logs', [\App\Http\Controllers\Admin\CurrencyLogController::class, 'index'])->name('currency-logs.index');
Route::get('/achievements', [\App\Http\Controllers\Admin\AchievementController::class, 'index'])->name('achievements.index');
// 🛒 商店商品管理(查看/编辑所有 superlevel 可用,新增/删除仅 id=1
Route::get('/shop', [\App\Http\Controllers\Admin\ShopItemController::class, 'index'])->name('shop.index');