all())->where('id', '>', 1); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)) ; return $this->json(AdminUserResource::collection($list)); } public function store(AdminUserRequest $request) { $baseIds = $request->input('base_ids', []); if(AdminUser::where('username', $request->input('username'))->exists()){ return $this->error('该登录名已存在'); } try{ DB::beginTransaction(); //添加管理员信息 $input = $request->input(); $input['password'] = bcrypt($request->input('password')); $user = AdminUser::create($input); //添加管理员查看基地的数据权限; $user->bases()->sync($baseIds); //添加管理员角色关联; $user->roles()->sync($request->input('role_id')); DB::commit(); }catch(\Throwable $th){ DB::rollBack(); report($th); return $this->error('添加失败,请稍后再试'); } return $this->success('添加成功'); } public function show(AdminUser $adminUser){ return $this->json(AdminUserResource::make($adminUser)); } public function update(AdminUser $adminUser, AdminUserUpdateRequest $request) { $baseIds = $request->input('base_ids', []); if(AdminUser::where('username', $request->input('username'))->where('id', '<>', $adminUser->id)->exists()){ return $this->error('该登录名已存在'); } try{ DB::beginTransaction(); //添加管理员信息 $adminUser->update($request->input()); //添加管理员查看基地的数据权限; $adminUser->crops()->sync($baseIds); //添加管理员角色关联; $adminUser->roles()->sync($request->input('role_id')); DB::commit(); }catch(\Throwable $th){ DB::rollBack(); report($th); return $this->error('修改失败,请稍后再试'); } return $this->success('修改成功!'); } public function destroy(AdminUser $adminUser){ if($adminUser->id == 1){ return $this->error('删除失败,请稍后再试'); } try{ DB::beginTransaction(); $adminUser->crops()->sync([]); $adminUser->roles()->sync([]); $adminUser->delete(); DB::commit(); }catch(\Throwable $th){ DB::rollBack(); report($th); return $this->error('删除失败,请稍后再试'); } return $this->success('删除成功!'); } /** * 启用/禁用 * * @param AdminUser $adminUser * @return void */ public function endable(AdminUser $adminUser){ if($adminUser->id == 1){ return $this->error('操作失败,请稍后再试'); } $adminUser->update([ 'is_enable' => (int) !$adminUser->is_enable ]); return $this->success('操作成功!'); } public function editPassword(AdminUser $adminUser, RestPasswordRequest $request){ if($adminUser->id == 1){ return $this->error('操作失败,请稍后再试'); } $adminUser->update([ 'password' => bcrypt($request->input('password')) ]); return $this->success('修改成功!'); } }