diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java b/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java index ea35aa8..b50f201 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/controller/MenuController.java @@ -23,21 +23,6 @@ public class MenuController { private final MenuService service; - - /** - * 获取菜单树 - */ - @GetMapping - public List menu(@AuthenticationPrincipal UserDetailsImpl userDetails) { - List list = service.selectByUserId(userDetails.getId(), Menu.Type.PAGE).stream().map(MenuVo::new).toList(); - return TreeUtil.makeTree( - list, - x -> x.getPid() == null, - (x, y) -> x.getId().equals(y.getPid()), - MenuVo::setChildren - ); - } - /** * 新建菜单 */ @@ -67,6 +52,6 @@ public class MenuController { */ @GetMapping("/tree") public List tree(@AuthenticationPrincipal UserDetailsImpl userDetails, @RequestParam String name) { - return service.getTreeByName(userDetails, name); + return service.getTree(userDetails, name); } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java index 4acbe80..b48f8ad 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/MenuService.java @@ -23,5 +23,5 @@ public interface MenuService extends IService { Boolean delete(Long id); - List getTreeByName(UserDetailsImpl userDetails, String name); + List getTree(UserDetailsImpl userDetails, String name); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java index a3665e8..77fa3f8 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java @@ -15,6 +15,7 @@ import com.zsc.edu.gateway.modules.system.utils.TreeUtil; import com.zsc.edu.gateway.modules.system.vo.MenuVo; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -39,11 +40,12 @@ public class MenuServiceImpl extends ServiceImpl implement } @Override + @Transactional public Menu create(MenuDto dto) { - if (baseMapper.selectList(new LambdaQueryWrapper().eq(Menu::getName, dto.getName())) != null) { + if (baseMapper.exists(new LambdaQueryWrapper().eq(Menu::getName, dto.getName()))) { throw new ConstraintException("该菜单名已存在!请检查输入表单是否出错!"); } - if (baseMapper.selectList(new LambdaQueryWrapper().eq(Menu::getPermissions, dto.getPermissions())) != null) { + if (baseMapper.exists(new LambdaQueryWrapper().eq(Menu::getPermissions, dto.getPermissions()))) { throw new ConstraintException("该权限已存在!请检查输入表单是否出错!"); } Menu menu = mapper.toEntity(dto); @@ -52,6 +54,7 @@ public class MenuServiceImpl extends ServiceImpl implement } @Override + @Transactional public Menu update(MenuDto dto, Long id) { Menu menu = baseMapper.selectById(id); if (menu == null) { @@ -70,7 +73,7 @@ public class MenuServiceImpl extends ServiceImpl implement } @Override - public List getTreeByName(UserDetailsImpl userDetails, String name) { + public List getTree(UserDetailsImpl userDetails, String name) { List menuVos = selectByUserId(userDetails.getId(), Menu.Type.PAGE).stream().map(MenuVo::new).toList(); List menuTrees = TreeUtil.makeTree( @@ -79,7 +82,9 @@ public class MenuServiceImpl extends ServiceImpl implement (parent, child) -> parent.getId().equals(child.getPid()), MenuVo::setChildren ); - + if (Objects.equals(name, "all")) { + return menuTrees; + } if (Objects.nonNull(name)) { Menu menu = baseMapper.selectOne(new LambdaQueryWrapper().eq(Menu::getName, name)); if (menu == null) {