input())->where('id', '>', '1'); $list = $query->paginate(Paginator::resolvePerPage('per_page', 20, 50)); return $this->json(AdminRoleResource::collection($list)); } public function store(AdminRoleRequest $request) { $permissionIds = $request->input('permission_ids', []); //验证slug唯一 if (AdminRole::where('slug', $request->input('slug'))->exists()) { return $this->error('该角色编码已存在'); } try { DB::beginTransaction(); //添加角色信息 $role = AdminRole::create($request->input()); //添加角色权限 $role->permissions()->sync($permissionIds); DB::commit(); } catch(\Throwable $th) { DB::rollBack(); report($th); return $this->error('添加失败,请稍后再试'); } (new OperationLogService())->inLog(OperationType::Create, '', $role, $request->input()); return $this->success('添加成功'); } public function show(AdminRole $adminRole) { $adminRole->load('permissions'); return $this->json(AdminRoleResource::make($adminRole)); } public function update(AdminRole $adminRole, AdminRoleRequest $request) { $permissionIds = $request->input('permission_ids', []); //验证slug唯一 if (AdminRole::where('slug', $request->input('slug'))->where('id', '<>', $adminRole->id)->exists()) { return $this->error('该角色编码已存在'); } try { DB::beginTransaction(); //添加角色信息 $adminRole->update($request->input()); //添加角色权限 $adminRole->permissions()->sync($permissionIds); DB::commit(); } catch(\Throwable $th) { DB::rollBack(); report($th); return $this->error('修改失败,请稍后再试'); } (new OperationLogService())->inLog(OperationType::Update, '', $adminRole, $request->input()); return $this->success('修改成功'); } public function destroy(AdminRole $adminRole) { try { DB::beginTransaction(); $adminRole->permissions()->sync([]); $adminRole->delete(); DB::commit(); } catch(\Throwable $th) { DB::rollBack(); report($th); return $this->error('删除失败,请稍后再试'); } (new OperationLogService())->inLog(OperationType::Delete, '', $adminRole); return $this->success('删除成功!'); } }