diff --git a/src/main/java/com/gaotao/modules/sys/controller/SysMenuController.java b/src/main/java/com/gaotao/modules/sys/controller/SysMenuController.java index 8e61d23..48021f8 100644 --- a/src/main/java/com/gaotao/modules/sys/controller/SysMenuController.java +++ b/src/main/java/com/gaotao/modules/sys/controller/SysMenuController.java @@ -70,16 +70,8 @@ public class SysMenuController extends AbstractController { @GetMapping("/list/{language}") @RequiresPermissions("sys:menu:list") public List listLanguage(@PathVariable String language) { - List menuList = sysMenuService.listLanguage(language); - ; - for (SysMenuEntity sysMenuEntity : menuList) { - System.out.println(sysMenuEntity.getParentId()); - SysMenuEntity parentMenuEntity = sysMenuService.getByIdLanguage(sysMenuEntity.getParentId(), language); - if (parentMenuEntity != null) { - sysMenuEntity.setParentName(parentMenuEntity.getName()); - } - } - + // 使用优化后的查询方法,一次性获取菜单和父菜单信息 + List menuList = sysMenuService.listLanguageWithParent(language); return menuList; } @@ -91,7 +83,6 @@ public class SysMenuController extends AbstractController { public R select() { //查询列表数据 List menuList = sysMenuService.queryNotButtonList(); - //添加顶级菜单 SysMenuEntity root = new SysMenuEntity(); root.setMenuId("0"); @@ -99,7 +90,6 @@ public class SysMenuController extends AbstractController { root.setParentId("-1"); root.setOpen(true); menuList.add(root); - return R.ok().put("menuList", menuList); } diff --git a/src/main/java/com/gaotao/modules/sys/dao/SysMenuDao.java b/src/main/java/com/gaotao/modules/sys/dao/SysMenuDao.java index 4e8fb5a..6f46b47 100644 --- a/src/main/java/com/gaotao/modules/sys/dao/SysMenuDao.java +++ b/src/main/java/com/gaotao/modules/sys/dao/SysMenuDao.java @@ -42,6 +42,11 @@ public interface SysMenuDao extends BaseMapper { */ List listLanguage(String language); + /** + * 根据语言获取菜单列表(包含父菜单名称) + */ + List listLanguageWithParent(String language); + /** * 更具id获取多语言菜单 * @param sysObjectLanguageMenu diff --git a/src/main/java/com/gaotao/modules/sys/service/SysMenuService.java b/src/main/java/com/gaotao/modules/sys/service/SysMenuService.java index 9ef446b..5e2df10 100644 --- a/src/main/java/com/gaotao/modules/sys/service/SysMenuService.java +++ b/src/main/java/com/gaotao/modules/sys/service/SysMenuService.java @@ -54,6 +54,8 @@ public interface SysMenuService extends IService { List listLanguage(String language); + List listLanguageWithParent(String language); + SysMenuEntity getByIdLanguage(String parentId, String language); List searchMenuLanguageById(SysObjectLanguageMenu sysObjectLanguageMenu); diff --git a/src/main/java/com/gaotao/modules/sys/service/impl/SysMenuServiceImpl.java b/src/main/java/com/gaotao/modules/sys/service/impl/SysMenuServiceImpl.java index 6d95a21..7f99bdf 100644 --- a/src/main/java/com/gaotao/modules/sys/service/impl/SysMenuServiceImpl.java +++ b/src/main/java/com/gaotao/modules/sys/service/impl/SysMenuServiceImpl.java @@ -131,6 +131,12 @@ public class SysMenuServiceImpl extends ServiceImpl i return list; } + @Override + public List listLanguageWithParent(String language) { + List list = sysMenuDao.listLanguageWithParent(language); + return list; + } + @Override public SysMenuEntity getByIdLanguage(String parentId, String language) { SysMenuEntity sysMenuEntity = sysMenuDao.getByIdLanguage(parentId,language); diff --git a/src/main/resources/mapper/sys/SysMenuDao.xml b/src/main/resources/mapper/sys/SysMenuDao.xml index d1b326c..01cc284 100644 --- a/src/main/resources/mapper/sys/SysMenuDao.xml +++ b/src/main/resources/mapper/sys/SysMenuDao.xml @@ -68,6 +68,29 @@ ON (sm.menu_id = sml.menu_id and sml.language_code = #{language}) ORDER BY sm.order_num + + +