diff --git a/beike/Admin/Http/Controllers/AdminUserController.php b/beike/Admin/Http/Controllers/AdminUserController.php index 16e16c59..266b189a 100644 --- a/beike/Admin/Http/Controllers/AdminUserController.php +++ b/beike/Admin/Http/Controllers/AdminUserController.php @@ -36,11 +36,13 @@ class AdminUserController extends Controller public function update(Request $request, int $adminUserId) { - return json_success('更新成功'); + $adminUser = AdminUserRepo::updateAdminUser($request->toArray()); + return json_success('更新成功', $adminUser); } public function destroy(Request $request, int $adminUserId) { + AdminUserRepo::deleteAdminUser($adminUserId); return json_success('删除成功'); } } diff --git a/beike/Admin/Repositories/AdminUserRepo.php b/beike/Admin/Repositories/AdminUserRepo.php index 782f9895..b8a6bf72 100644 --- a/beike/Admin/Repositories/AdminUserRepo.php +++ b/beike/Admin/Repositories/AdminUserRepo.php @@ -20,11 +20,38 @@ class AdminUserRepo $adminUser = new AdminUser([ 'name' => $data['name'], 'email' => $data['email'], - 'password' => bcrypt($data['password']) + 'password' => bcrypt($data['password']), + 'active' => true, ]); $adminUser->save(); $adminUser->assignRole($data['roles']); return $adminUser; } + + + public static function updateAdminUser($data): AdminUser + { + $id = $data['id'] ?? 0; + $password = $data['password'] ?? ''; + $adminUser = AdminUser::query()->find($id); + $userData = [ + 'name' => $data['name'], + 'email' => $data['email'], + 'active' => true, + ]; + if ($password) { + $userData['password'] = bcrypt($password); + } + $adminUser->update($userData); + $adminUser->syncRoles($data['roles']); + return $adminUser; + } + + + public static function deleteAdminUser($adminUserId) + { + $adminUser = AdminUser::query()->find($adminUserId); + $adminUser->delete(); + } }