diff --git a/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysMenuController.java b/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysMenuController.java index 5edb6f6..bfb4b82 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysMenuController.java +++ b/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysMenuController.java @@ -42,9 +42,9 @@ public class SysMenuController extends BaseController { * * @return 路由信息 */ - @GetMapping("/getRouters") - public R> getRouters() { - List menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId()); + @GetMapping("/{platformType}/getRouters") + public R> getRouters(@PathVariable String platformType) { + List menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId(),platformType); return R.ok(menuService.buildMenus(menus)); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/domain/SysMenu.java b/dk-modules/system/src/main/java/org/dromara/system/domain/SysMenu.java index 0cdb508..8bcf6cb 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/domain/SysMenu.java +++ b/dk-modules/system/src/main/java/org/dromara/system/domain/SysMenu.java @@ -45,6 +45,11 @@ public class SysMenu extends BaseEntity { */ private Integer orderNum; + /** + * 菜单类型 (backend、pc、h5) + */ + private String platformType; + /** * 路由地址 */ diff --git a/dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java b/dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java index 7a610e7..89906b4 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java +++ b/dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java @@ -46,6 +46,12 @@ public class SysMenuBo extends BaseEntity { @NotNull(message = "显示顺序不能为空") private Integer orderNum; + /** + * 菜单类型 (backend、pc、h5) + */ + @NotNull(message = "菜单类型不能为空") + private String platformType; + /** * 路由地址 */ diff --git a/dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java b/dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java index a51564a..70e5700 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java +++ b/dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java @@ -43,6 +43,11 @@ public class SysMenuVo implements Serializable { */ private Integer orderNum; + /** + * 菜单类型 (backend、pc、h5) + */ + private String platformType; + /** * 路由地址 */ diff --git a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java index ac646c0..4949cc7 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java +++ b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java @@ -47,10 +47,11 @@ public interface SysMenuMapper extends BaseMapperPlus { * * @return 菜单列表 */ - default List selectMenuTreeAll() { + default List selectMenuTreeAll(String platformType) { LambdaQueryWrapper lqw = new LambdaQueryWrapper() .in(SysMenu::getMenuType, UserConstants.TYPE_DIR, UserConstants.TYPE_MENU) .eq(SysMenu::getStatus, UserConstants.MENU_NORMAL) + .eq(SysMenu::getPlatformType, platformType) .orderByAsc(SysMenu::getParentId) .orderByAsc(SysMenu::getOrderNum); return this.selectList(lqw); @@ -62,7 +63,7 @@ public interface SysMenuMapper extends BaseMapperPlus { * @param userId 用户ID * @return 菜单列表 */ - List selectMenuTreeByUserId(Long userId); + List selectMenuTreeByUserId(Long userId,String platformType); /** * 根据角色ID查询菜单树信息 diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/ISysMenuService.java b/dk-modules/system/src/main/java/org/dromara/system/service/ISysMenuService.java index 72d705e..d8aeb7e 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/ISysMenuService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/ISysMenuService.java @@ -55,7 +55,7 @@ public interface ISysMenuService { * @param userId 用户ID * @return 菜单列表 */ - List selectMenuTreeByUserId(Long userId); + List selectMenuTreeByUserId(Long userId,String platformType); /** * 根据角色ID查询菜单树信息 diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java index 1b6a9aa..2a320e6 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java @@ -130,12 +130,12 @@ public class SysMenuServiceImpl implements ISysMenuService { * @return 菜单列表 */ @Override - public List selectMenuTreeByUserId(Long userId) { + public List selectMenuTreeByUserId(Long userId,String platformType) { List menus; if (LoginHelper.isSuperAdmin(userId)) { - menus = baseMapper.selectMenuTreeAll(); + menus = baseMapper.selectMenuTreeAll(platformType); } else { - menus = baseMapper.selectMenuTreeByUserId(userId); + menus = baseMapper.selectMenuTreeByUserId(userId,platformType); } return getChildPerms(menus, 0); } diff --git a/dk-modules/system/src/main/resources/mapper/system/SysMenuMapper.xml b/dk-modules/system/src/main/resources/mapper/system/SysMenuMapper.xml index b9eced8..3a23587 100644 --- a/dk-modules/system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/dk-modules/system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -9,7 +9,7 @@