From 6e6321a1a04b820c9b09eb290bd2d8277a1da36d Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Fri, 12 Aug 2022 16:04:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=8E=E5=8F=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/AdminUserController.php | 12 ++++--- .../Admin/Http/Resources/AdminUserDetail.php | 30 ++++++++++++++++++ beike/Admin/Repositories/AdminUserRepo.php | 31 ++++++++++++++++++- 3 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 beike/Admin/Http/Resources/AdminUserDetail.php diff --git a/beike/Admin/Http/Controllers/AdminUserController.php b/beike/Admin/Http/Controllers/AdminUserController.php index 266b189a..cf706527 100644 --- a/beike/Admin/Http/Controllers/AdminUserController.php +++ b/beike/Admin/Http/Controllers/AdminUserController.php @@ -11,23 +11,27 @@ namespace Beike\Admin\Http\Controllers; -use Beike\Admin\Repositories\AdminUserRepo; -use Beike\Models\AdminUser; use Illuminate\Http\Request; use Spatie\Permission\Models\Role; +use Beike\Admin\Repositories\AdminUserRepo; class AdminUserController extends Controller { + /** + * 获取后台用户列表 + * + * @return mixed + */ public function index() { $data = [ - 'admin_users' => AdminUser::query()->with(['roles'])->get(), + 'admin_users' => AdminUserRepo::getAdminUsers(), 'admin_roles' => Role::query()->get() ]; - return view('admin::pages.admin_users.index', $data); } + public function store(Request $request) { $adminUser = AdminUserRepo::createAdminUser($request->toArray()); diff --git a/beike/Admin/Http/Resources/AdminUserDetail.php b/beike/Admin/Http/Resources/AdminUserDetail.php new file mode 100644 index 00000000..12a45b6b --- /dev/null +++ b/beike/Admin/Http/Resources/AdminUserDetail.php @@ -0,0 +1,30 @@ + + * @created 2022-08-12 15:56:28 + * @modified 2022-08-12 15:56:28 + */ + +namespace Beike\Admin\Http\Resources; + +use Illuminate\Http\Resources\Json\JsonResource; + +class AdminUserDetail extends JsonResource +{ + public function toArray($request): array + { + return [ + 'id' => $this->id, + 'name' => $this->name, + 'email' => $this->email, + 'locale' => $this->locale, + 'roles' => $this->roles->pluck('name')->toArray(), + 'created_at' => time_format($this->created_at), + 'updated_at' => time_format($this->updated_at), + ]; + } +} diff --git a/beike/Admin/Repositories/AdminUserRepo.php b/beike/Admin/Repositories/AdminUserRepo.php index 3fe7366f..5b442b2c 100644 --- a/beike/Admin/Repositories/AdminUserRepo.php +++ b/beike/Admin/Repositories/AdminUserRepo.php @@ -11,10 +11,28 @@ namespace Beike\Admin\Repositories; +use Beike\Admin\Http\Resources\AdminUserDetail; use Beike\Models\AdminUser; class AdminUserRepo { + /** + * 获取后台用户管理员列表 + */ + public static function getAdminUsers(): array + { + $builder = AdminUser::query()->with(['roles']); + $adminUsers = $builder->get(); + return AdminUserDetail::collection($adminUsers)->jsonSerialize(); + } + + + /** + * 创建后台管理员用户 + * + * @param $data + * @return AdminUser + */ public static function createAdminUser($data): AdminUser { $adminUser = new AdminUser([ @@ -31,7 +49,13 @@ class AdminUserRepo } - public static function updateAdminUser($data): AdminUser + /** + * 更新后台管理员用户 + * + * @param $data + * @return mixed + */ + public static function updateAdminUser($data) { $id = $data['id'] ?? 0; $password = $data['password'] ?? ''; @@ -51,6 +75,11 @@ class AdminUserRepo } + /** + * 删除后台用户 + * + * @param $adminUserId + */ public static function deleteAdminUser($adminUserId) { $adminUser = AdminUser::query()->find($adminUserId);