diff --git a/app/Http/Controllers/AdminUserController.php b/app/Http/Controllers/AdminUserController.php index 3d8167f..cb5fce4 100644 --- a/app/Http/Controllers/AdminUserController.php +++ b/app/Http/Controllers/AdminUserController.php @@ -163,4 +163,18 @@ class AdminUserController extends Controller return $this->success('修改成功!'); } + + public function unban(AdminUser $adminUser) + { + if ($adminUser->banned_at) { + $adminUser->update([ + 'banned_reason' => '', + 'banned_at' => null, + ]); + + (new OperationLogService())->inLog(OperationType::Update, '解封-用户【'.$adminUser->name.'】'); + } + + return $this->success('操作成功!'); + } } diff --git a/app/Http/Resources/AdminUserResource.php b/app/Http/Resources/AdminUserResource.php index 1507e80..0d5383d 100644 --- a/app/Http/Resources/AdminUserResource.php +++ b/app/Http/Resources/AdminUserResource.php @@ -25,6 +25,8 @@ class AdminUserResource extends JsonResource 'status' => $this->status, 'is_enable' => $this->is_enable, 'view_all_bases' => (int) $this->view_all_bases, + 'banned_reason' => $this->banned_reason, + 'banned_at' => $this->banned_at, 'bases' => AgriculturalBaseResource::collection($this->whenloaded('bases')), ]; } diff --git a/routes/api.php b/routes/api.php index 12d019a..262c2d4 100644 --- a/routes/api.php +++ b/routes/api.php @@ -88,6 +88,7 @@ Route::group([ Route::apiResource('admin-users', AdminUserController::class)->names('admin_users'); Route::put('admin-users/{admin_user}/enable', [AdminUserController::class, 'endable'])->name('admin_users.enable'); Route::put('admin-users/{admin_user}/edit-password', [AdminUserController::class, 'editPassword'])->name('admin_users.edit_password'); + Route::put('admin-users/{admin_user}/unban', [AdminUserController::class, 'unban'])->name('admin_users.unban'); Route::apiResource('admin-roles', AdminRoleController::class)->names('admin_roles'); Route::get('weeks-per-year', WeeksPerYearController::class);