From c38393c8d32e77015071b604ce4be60bd2313125 Mon Sep 17 00:00:00 2001 From: horizons <1490493387@qq.com> Date: Tue, 25 Oct 2022 01:14:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=8F=9C=E5=8D=95=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=83=E9=99=90=E6=A0=87=E8=AF=86=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 4 ++ .../youlai/system/pojo/vo/menu/MenuVO.java | 3 ++ .../service/impl/SysMenuServiceImpl.java | 41 ++++++++++++------- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/youlai/system/controller/SysUserController.java b/src/main/java/com/youlai/system/controller/SysUserController.java index ac62d809..c0354c89 100644 --- a/src/main/java/com/youlai/system/controller/SysUserController.java +++ b/src/main/java/com/youlai/system/controller/SysUserController.java @@ -18,6 +18,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -62,6 +63,7 @@ public class SysUserController { @ApiOperation(value = "新增用户") @PostMapping + @PreAuthorize("hasAuthority('sys:user:add')") public Result saveUser( @RequestBody @Valid UserForm userForm ) { @@ -71,6 +73,7 @@ public class SysUserController { @ApiOperation(value = "修改用户") @PutMapping(value = "/{userId}") + @PreAuthorize("hasAuthority('sys:user:edit')") public Result updateUser( @ApiParam("用户ID") @PathVariable Long userId, @RequestBody @Validated UserForm userForm) { @@ -80,6 +83,7 @@ public class SysUserController { @ApiOperation(value = "删除用户") @DeleteMapping("/{ids}") + @PreAuthorize("hasAuthority('sys:user:delete')") public Result deleteUsers( @ApiParam("用户ID,多个以英文逗号(,)分割") @PathVariable String ids ) { diff --git a/src/main/java/com/youlai/system/pojo/vo/menu/MenuVO.java b/src/main/java/com/youlai/system/pojo/vo/menu/MenuVO.java index 0fb5b71e..b4f35cb2 100644 --- a/src/main/java/com/youlai/system/pojo/vo/menu/MenuVO.java +++ b/src/main/java/com/youlai/system/pojo/vo/menu/MenuVO.java @@ -35,6 +35,9 @@ public class MenuVO { @ApiModelProperty("菜单类型") private MenuTypeEnum type; + @ApiModelProperty("按钮权限标识") + private String perm; + @JsonInclude(value = JsonInclude.Include.NON_NULL) private List children; diff --git a/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java index 80f0bda3..f90865c9 100644 --- a/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java +++ b/src/main/java/com/youlai/system/service/impl/SysMenuServiceImpl.java @@ -50,16 +50,16 @@ public class SysMenuServiceImpl extends ServiceImpl impl Set cacheMenuIds = menus.stream().map(menu -> menu.getId()).collect(Collectors.toSet()); - List tableMenus = menus.stream().map(menu -> { + List list = menus.stream().map(menu -> { Long parentId = menu.getParentId(); // parentId不在当前菜单ID的列表,说明为顶级菜单ID,根据此ID作为递归的开始条件节点 if (!cacheMenuIds.contains(parentId)) { cacheMenuIds.add(parentId); - return recurTableMenus(parentId, menus); + return recurMenus(parentId, menus); } return new LinkedList(); }).collect(ArrayList::new, ArrayList::addAll, ArrayList::addAll); - return tableMenus; + return list; } @@ -91,7 +91,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl @Override public List