Browse Source

[feat]

1、菜单增加菜单类型区分前端、后台、h5
pull/1/head
杨威 4 months ago
parent
commit
31dedc826e
  1. 6
      dk-modules/system/src/main/java/org/dromara/system/controller/system/SysMenuController.java
  2. 5
      dk-modules/system/src/main/java/org/dromara/system/domain/SysMenu.java
  3. 6
      dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java
  4. 5
      dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java
  5. 5
      dk-modules/system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java
  6. 2
      dk-modules/system/src/main/java/org/dromara/system/service/ISysMenuService.java
  7. 6
      dk-modules/system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java
  8. 6
      dk-modules/system/src/main/resources/mapper/system/SysMenuMapper.xml

6
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<List<RouterVo>> getRouters() {
List<SysMenu> menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId());
@GetMapping("/{platformType}/getRouters")
public R<List<RouterVo>> getRouters(@PathVariable String platformType) {
List<SysMenu> menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId(),platformType);
return R.ok(menuService.buildMenus(menus));
}

5
dk-modules/system/src/main/java/org/dromara/system/domain/SysMenu.java

@ -45,6 +45,11 @@ public class SysMenu extends BaseEntity {
*/
private Integer orderNum;
/**
* 菜单类型 (backendpch5)
*/
private String platformType;
/**
* 路由地址
*/

6
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;
/**
* 菜单类型 (backendpch5)
*/
@NotNull(message = "菜单类型不能为空")
private String platformType;
/**
* 路由地址
*/

5
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;
/**
* 菜单类型 (backendpch5)
*/
private String platformType;
/**
* 路由地址
*/

5
dk-modules/system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java

@ -47,10 +47,11 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
*
* @return 菜单列表
*/
default List<SysMenu> selectMenuTreeAll() {
default List<SysMenu> selectMenuTreeAll(String platformType) {
LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<SysMenu>()
.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<SysMenu, SysMenuVo> {
* @param userId 用户ID
* @return 菜单列表
*/
List<SysMenu> selectMenuTreeByUserId(Long userId);
List<SysMenu> selectMenuTreeByUserId(Long userId,String platformType);
/**
* 根据角色ID查询菜单树信息

2
dk-modules/system/src/main/java/org/dromara/system/service/ISysMenuService.java

@ -55,7 +55,7 @@ public interface ISysMenuService {
* @param userId 用户ID
* @return 菜单列表
*/
List<SysMenu> selectMenuTreeByUserId(Long userId);
List<SysMenu> selectMenuTreeByUserId(Long userId,String platformType);
/**
* 根据角色ID查询菜单树信息

6
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<SysMenu> selectMenuTreeByUserId(Long userId) {
public List<SysMenu> selectMenuTreeByUserId(Long userId,String platformType) {
List<SysMenu> 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);
}

6
dk-modules/system/src/main/resources/mapper/system/SysMenuMapper.xml

@ -9,7 +9,7 @@
<select id="selectMenuListByUserId" resultMap="SysMenuResult">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.query_param, m.visible, m.status,
m.perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
m.perms, m.is_frame, m.is_cache, m.platform_type,m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_role r on rm.role_id = r.role_id
@ -23,6 +23,7 @@
m.path,
m.component,
m.query_param,
m.platform_type,
m.visible,
m.status,
m.perms,
@ -36,6 +37,9 @@
left join sys_role_menu rm on m.menu_id = rm.menu_id and m.status = '0'
left join sys_role r on rm.role_id = r.role_id and r.status = '0'
where m.menu_type in ('M', 'C')
<if test="platformType != null and platformType != ''">
and m.platform_type = #{platformType}
</if>
and r.role_id in (select role_id from sys_user_role where user_id = #{userId})
order by m.parent_id, m.order_num
</select>

Loading…
Cancel
Save