diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index c24e3a8..91691b0 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin; +use App\Exceptions\ChargeException; use App\Http\Controllers\Controller; use App\Models\Balance; use App\Models\Host; @@ -93,10 +94,6 @@ public function update(Request $request, User $user) $transaction = new Transaction(); - if ($request->filled('balance')) { - $transaction->addAmount($user->id, 'console', $request->balance, '管理员汇入', true); - } - if ($request->is_banned) { $user->banned_at = Carbon::now(); @@ -116,6 +113,14 @@ public function update(Request $request, User $user) $user->hosts()->update(['status' => 'suspended', 'suspended_at' => now()]); } else if ($request->one_time_action == 'stop_all_hosts') { $user->hosts()->update(['status' => 'stopped', 'suspended_at' => null]); + } else if ($request->one_time_action == 'add_balance') { + try { + $transaction->addAmount($user->id, 'console', $request->balance ?? 0, '管理员添加。'); + } catch (ChargeException $e) { + return back()->with('error', $e->getMessage()); + } + } else if ($request->one_time_action == 'reduce_balance') { + $transaction->reduceAmount($user->id, $request->balance ?? 0, '管理员扣除。'); } } diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index 63c87f9..4b09a2c 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -130,11 +130,6 @@ @csrf @method('PATCH') -