【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 * @author fengshuonan
* @date 2021/1/6 17:09 * @date 2021/1/6 17:09
@ -92,53 +92,7 @@ public class SysMenuController {
} }
/** /**
* antd vue * Layui--
*
* @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使
* *
* @author majianguo * @author majianguo
* @date 2021/1/9 17:10 * @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 * @author majianguo
* @date 2021/1/9 17:10 * @date 2021/1/9 17:10

View File

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

View File

@ -31,6 +31,12 @@
LEFT JOIN sys_role sr ON srm.role_id = sr.role_id LEFT JOIN sys_role sr ON srm.role_id = sr.role_id
WHERE sm.del_flag = 'N' 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> </select>
</mapper> </mapper>

View File

@ -1,13 +1,13 @@
package cn.stylefeng.roses.kernel.system.modular.menu.service; package cn.stylefeng.roses.kernel.system.modular.menu.service;
import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode; 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.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode; 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.antd.AntdSysMenuDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.layui.LayuiAppIndexMenusVO; 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.menu.layui.LayuiMenuAndButtonTreeResponse;
import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest; 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 com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@ -109,7 +109,7 @@ public interface SysMenuService extends IService<SysMenu> {
* @author majianguo * @author majianguo
* @date 2021/1/7 15:24 * @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.SystemModularException;
import cn.stylefeng.roses.kernel.system.api.exception.enums.menu.SysMenuExceptionEnum; 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.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.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.menu.antd.AntdMenuSelectTreeNode; 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.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.SysRoleMenuButtonDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleMenuDTO; 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.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.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -249,8 +249,16 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
} }
@Override @Override
public List<AntdSysMenuDTO> getSystemAllMenusAntdv() { public List<AntdSysMenuDTO> getLeftMenusAntdv() {
return this.baseMapper.getSystemAllMenus();
// 如果是超级管理员,则获取所有的菜单
if (LoginContext.me().getSuperAdminFlag()) {
return this.baseMapper.getSystemAllMenus(null);
}
// 获取当前用户的所有菜单
List<Long> menuIdList = getCurrentUserMenuIds();
return this.baseMapper.getSystemAllMenus(menuIdList);
} }
@Override @Override