From f1f2ce72de03498666af5ed1a766c719a7b524fd Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Mon, 13 Jan 2025 16:39:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor(menu):=20=E4=BC=98=E5=8C=96=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=B9=B6=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 MenuController 中的 menu 方法- 修改 MenuService 接口中的方法名称,简化为 getTree- 在 MenuServiceImpl 中添加事务注解并优化查询逻辑 -增加对"all"名称的特殊处理,以适应不同场景需求 --- .../system/controller/MenuController.java | 17 +---------------- .../modules/system/service/MenuService.java | 2 +- .../system/service/impl/MenuServiceImpl.java | 13 +++++++++---- 3 files changed, 11 insertions(+), 21 deletions(-) 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) {