【7.0.2】整理antd版本获取左侧菜单接口

pull/12/head
fengshuonan 2021-03-17 21:55:34 +08:00
parent 42ad8c8038
commit 6446db8316
5 changed files with 88 additions and 73 deletions

View File

@ -81,7 +81,7 @@ public class SysMenuController {
}
/**
* layui
* Layui--
*
* @author fengshuonan
* @date 2021/1/6 17:09
@ -92,53 +92,7 @@ public class SysMenuController {
}
/**
* antd vue
*
* @author fengshuonan
* @date 2020/3/20 21:23
*/
@GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list")
public ResponseData list(SysMenuRequest sysMenuRequest) {
return new SuccessResponseData(sysMenuService.findListWithTreeStructure(sysMenuRequest));
}
/**
* layui
*
* @author fengshuonan
* @date 2021/1/6 17:09
*/
@GetResource(name = "获取菜单的树形列表用于选择上级菜单layui版本", path = "/sysMenu/layuiSelectParentMenuTreeList")
public List<ZTreeNode> layuiSelectParentMenuTreeList() {
return sysMenuService.layuiSelectParentMenuTreeList();
}
/**
* antd vue
*
* @author fengshuonan
* @date 2020/3/27 15:55
*/
@GetResource(name = "获取系统菜单树,用于新增,编辑时选择上级节点", path = "/sysMenu/tree")
public ResponseData tree(SysMenuRequest sysMenuRequest) {
return new SuccessResponseData(sysMenuService.tree(sysMenuRequest));
}
/**
* antd vue
*
* @author majianguo
* @date 2021/1/7 15:17
*/
@GetResource(name = "获取系统所有菜单适用于登录后获取左侧菜单适配antd vue版本", path = "/sysMenu/getSystemAllMenusAntdv", requiredPermission = false)
public ResponseData getSystemAllMenusAntdv() {
List<AntdSysMenuDTO> sysMenuResponses = sysMenuService.getSystemAllMenusAntdv();
List<AntdvMenuItem> totalMenus = AntdMenusFactory.createTotalMenus(sysMenuResponses);
return new SuccessResponseData(totalMenus);
}
/**
* layui使
* Layui--
*
* @author majianguo
* @date 2021/1/9 17:10
@ -149,7 +103,53 @@ public class SysMenuController {
}
/**
* antd vue使
* Layui--
*
* @author fengshuonan
* @date 2021/1/6 17:09
*/
@GetResource(name = "获取菜单的树形列表用于选择上级菜单layui版本", path = "/sysMenu/layuiSelectParentMenuTreeList")
public List<ZTreeNode> layuiSelectParentMenuTreeList() {
return sysMenuService.layuiSelectParentMenuTreeList();
}
/**
* AntdVue--
*
* @author majianguo
* @date 2021/1/7 15:17
*/
@GetResource(name = "获取系统所有菜单适用于登录后获取左侧菜单适配antd vue版本", path = "/sysMenu/getLeftMenusAntdv", requiredPermission = false)
public ResponseData getLeftMenusAntdv() {
List<AntdSysMenuDTO> sysMenuResponses = sysMenuService.getLeftMenusAntdv();
List<AntdvMenuItem> totalMenus = AntdMenusFactory.createTotalMenus(sysMenuResponses);
return new SuccessResponseData(totalMenus);
}
/**
* AntdVue--
*
* @author fengshuonan
* @date 2020/3/20 21:23
*/
@GetResource(name = "系统菜单列表(树)", path = "/sysMenu/list")
public ResponseData list(SysMenuRequest sysMenuRequest) {
return new SuccessResponseData(sysMenuService.findListWithTreeStructure(sysMenuRequest));
}
/**
* AntdVue--
*
* @author fengshuonan
* @date 2020/3/27 15:55
*/
@GetResource(name = "获取系统菜单树,用于新增,编辑时选择上级节点", path = "/sysMenu/tree")
public ResponseData tree(SysMenuRequest sysMenuRequest) {
return new SuccessResponseData(sysMenuService.tree(sysMenuRequest));
}
/**
* AntdVue--
*
* @author majianguo
* @date 2021/1/9 17:10

View File

@ -1,8 +1,9 @@
package cn.stylefeng.roses.kernel.system.modular.menu.mapper;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -23,6 +24,6 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
* @author majianguo
* @date 2021/1/7 15:27
*/
List<AntdSysMenuDTO> getSystemAllMenus();
List<AntdSysMenuDTO> getSystemAllMenus(@Param("menuIdList") List<Long> menuIdList);
}

View File

@ -18,19 +18,25 @@
<select id="getSystemAllMenus" resultMap="systemMenuAndRole">
SELECT sm.menu_id,
sm.menu_parent_id,
sm.menu_name,
sm.antdv_router,
sm.antdv_icon,
sm.visible,
sr.role_id,
sr.role_name,
sr.role_code
sm.menu_parent_id,
sm.menu_name,
sm.antdv_router,
sm.antdv_icon,
sm.visible,
sr.role_id,
sr.role_name,
sr.role_code
FROM sys_menu sm
LEFT JOIN sys_role_menu srm ON sm.menu_id = srm.menu_id
LEFT JOIN sys_role sr ON srm.role_id = sr.role_id
LEFT JOIN sys_role_menu srm ON sm.menu_id = srm.menu_id
LEFT JOIN sys_role sr ON srm.role_id = sr.role_id
WHERE sm.del_flag = 'N'
AND sm.status_flag = 1
AND sm.status_flag = 1
<if test="menuIdList != null and menuIdList.size() > 0">
and sm.menu_id in
<foreach collection="menuIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>

View File

@ -1,13 +1,13 @@
package cn.stylefeng.roses.kernel.system.modular.menu.service;
import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiAppIndexMenusVO;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiMenuAndButtonTreeResponse;
import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -109,7 +109,7 @@ public interface SysMenuService extends IService<SysMenu> {
* @author majianguo
* @date 2021/1/7 15:24
*/
List<AntdSysMenuDTO> getSystemAllMenusAntdv();
List<AntdSysMenuDTO> getLeftMenusAntdv();
/**
*

View File

@ -21,13 +21,6 @@ import cn.stylefeng.roses.kernel.system.api.RoleServiceApi;
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.api.exception.enums.menu.SysMenuExceptionEnum;
import cn.stylefeng.roses.kernel.system.api.exception.enums.user.SysUserExceptionEnum;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenuButton;
import cn.stylefeng.roses.kernel.system.modular.menu.factory.AntdMenusFactory;
import cn.stylefeng.roses.kernel.system.modular.menu.factory.LayuiMenusFactory;
import cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper;
import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuButtonService;
import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuService;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdSysMenuDTO;
@ -36,6 +29,13 @@ import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiMenuAndButtonTr
import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleMenuButtonDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleMenuDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu;
import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenuButton;
import cn.stylefeng.roses.kernel.system.modular.menu.factory.AntdMenusFactory;
import cn.stylefeng.roses.kernel.system.modular.menu.factory.LayuiMenusFactory;
import cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper;
import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuButtonService;
import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -249,8 +249,16 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
}
@Override
public List<AntdSysMenuDTO> getSystemAllMenusAntdv() {
return this.baseMapper.getSystemAllMenus();
public List<AntdSysMenuDTO> getLeftMenusAntdv() {
// 如果是超级管理员,则获取所有的菜单
if (LoginContext.me().getSuperAdminFlag()) {
return this.baseMapper.getSystemAllMenus(null);
}
// 获取当前用户的所有菜单
List<Long> menuIdList = getCurrentUserMenuIds();
return this.baseMapper.getSystemAllMenus(menuIdList);
}
@Override