From 60bafe7bc4dd4ba5b9a7b607240d676f206ed115 Mon Sep 17 00:00:00 2001 From: lkddi Date: Sat, 28 Mar 2026 17:20:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E7=AE=A1=E7=90=86=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E9=92=88=E5=AF=B9superlevel=E7=BA=A7=E5=88=AB?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=96=B0=E5=A2=9E=E5=85=A8=E5=B1=80=E9=87=91?= =?UTF-8?q?=E5=B8=81=E6=B5=81=E6=B0=B4=E6=9F=A5=E8=AF=A2=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/CurrencyLogController.php | 70 +++++++ .../views/admin/currency-logs/index.blade.php | 181 ++++++++++++++++++ resources/views/admin/layouts/app.blade.php | 4 + routes/web.php | 3 + 4 files changed, 258 insertions(+) create mode 100644 app/Http/Controllers/Admin/CurrencyLogController.php create mode 100644 resources/views/admin/currency-logs/index.blade.php diff --git a/app/Http/Controllers/Admin/CurrencyLogController.php b/app/Http/Controllers/Admin/CurrencyLogController.php new file mode 100644 index 0000000..68f3422 --- /dev/null +++ b/app/Http/Controllers/Admin/CurrencyLogController.php @@ -0,0 +1,70 @@ +with('user'); + + // 查询条件过滤 + if ($request->filled('username')) { + $query->where('username', 'like', '%'.$request->input('username').'%'); + } + + if ($request->filled('currency')) { + $query->where('currency', $request->input('currency')); + } + + if ($request->filled('source')) { + $query->where('source', $request->input('source')); + } + + if ($request->filled('remark')) { + $query->where('remark', 'like', '%'.$request->input('remark').'%'); + } + + if ($request->filled('direction')) { + if ($request->input('direction') === 'in') { + $query->where('amount', '>', 0); + } elseif ($request->input('direction') === 'out') { + $query->where('amount', '<', 0); + } + } + + if ($request->filled('date_start')) { + $query->whereDate('created_at', '>=', $request->input('date_start')); + } + + if ($request->filled('date_end')) { + $query->whereDate('created_at', '<=', $request->input('date_end')); + } + + // 默认按时间倒序 + $logs = $query->latest('id')->paginate(50)->withQueryString(); + + $allSources = CurrencySource::cases(); + + return view('admin.currency-logs.index', compact('logs', 'allSources')); + } +} diff --git a/resources/views/admin/currency-logs/index.blade.php b/resources/views/admin/currency-logs/index.blade.php new file mode 100644 index 0000000..a3f2030 --- /dev/null +++ b/resources/views/admin/currency-logs/index.blade.php @@ -0,0 +1,181 @@ +@extends('admin.layouts.app') + +@section('title', '金币/积分流水查询') + +@section('content') + +
+
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + 重置 + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + @forelse ($logs as $log) + + + + + + + + + + + @empty + + + + @endforelse + +
记录ID用户类型变动数额变后余额来源备注信息发生时间
+ #{{ $log->id }} + +
+ {{ $log->username }} + ID: {{ $log->user_id }} +
+
+ @if($log->currency === 'gold') + + 💰 金币 + + @elseif($log->currency === 'exp') + + ⭐ 经验 + + @elseif($log->currency === 'charm') + + 💖 魅力 + + @else + {{ $log->currency }} + @endif + + @if ($log->amount > 0) + +{{ $log->amount }} + @elseif ($log->amount === 0) + 0 + @else + {{ $log->amount }} + @endif + + {{ $log->balance_after }} + + @php + $sourceLabel = \App\Enums\CurrencySource::tryFrom($log->source)?->label() ?? $log->source; + @endphp + + {{ $sourceLabel }} + + + {{ $log->remark }} + @if($log->room_id) +
房间ID: {{ $log->room_id }}
+ @endif +
+ {{ $log->created_at->format('Y-m-d H:i:s') }} +
+ 📭 暂无相关流水记录 +
+
+ @if ($logs->hasPages()) +
+ {{ $logs->links() }} +
+ @endif +
+@endsection diff --git a/resources/views/admin/layouts/app.blade.php b/resources/views/admin/layouts/app.blade.php index c81e307..8dda275 100644 --- a/resources/views/admin/layouts/app.blade.php +++ b/resources/views/admin/layouts/app.blade.php @@ -54,6 +54,10 @@ class="block px-4 py-3 rounded-md transition {{ request()->routeIs('admin.system.*') ? 'bg-indigo-600 font-bold' : 'hover:bg-white/10' }}"> {!! '⚙️ 聊天室参数' !!} + + {!! '💴 全局金币流水' !!} + {!! '🏠 房间管理' !!} diff --git a/routes/web.php b/routes/web.php index b97b216..b0c13ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -407,6 +407,9 @@ Route::middleware(['chat.auth', 'chat.has_position'])->prefix('admin')->name('ad Route::put('/vip/{vip}', [\App\Http\Controllers\Admin\VipController::class, 'update'])->name('vip.update'); Route::delete('/vip/{vip}', [\App\Http\Controllers\Admin\VipController::class, 'destroy'])->name('vip.destroy'); + // 全局用户金币/积分流水 + Route::get('/currency-logs', [\App\Http\Controllers\Admin\CurrencyLogController::class, 'index'])->name('currency-logs.index'); + // 🛒 商店商品管理(查看/编辑所有 superlevel 可用,新增/删除仅 id=1) Route::get('/shop', [\App\Http\Controllers\Admin\ShopItemController::class, 'index'])->name('shop.index'); Route::post('/shop', [\App\Http\Controllers\Admin\ShopItemController::class, 'store'])->name('shop.store');