代码查询优化,纯后台
parent
b8901b21ba
commit
4941fe0cd0
|
@ -36,6 +36,8 @@ public class SysMenu extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
* 菜单名称
|
* 菜单名称
|
||||||
*/
|
*/
|
||||||
|
@NotBlank(message = "菜单名称不能为空")
|
||||||
|
@Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
|
||||||
private String menuName;
|
private String menuName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -108,162 +110,7 @@ public class SysMenu extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
private List<SysMenu> children = new ArrayList<SysMenu>();
|
private List<SysMenu> children = new ArrayList<SysMenu>();
|
||||||
|
|
||||||
public Long getMenuId () {
|
|
||||||
return menuId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenuId (Long menuId) {
|
|
||||||
this.menuId = menuId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotBlank(message = "菜单名称不能为空")
|
|
||||||
@Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
|
|
||||||
public String getMenuName () {
|
|
||||||
return menuName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenuName (String menuName) {
|
|
||||||
this.menuName = menuName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getParentName () {
|
|
||||||
return parentName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setParentName (String parentName) {
|
|
||||||
this.parentName = parentName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getParentId () {
|
|
||||||
return parentId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setParentId (Long parentId) {
|
|
||||||
this.parentId = parentId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull(message = "显示顺序不能为空")
|
|
||||||
public Integer getOrderNum () {
|
|
||||||
return orderNum;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrderNum (Integer orderNum) {
|
|
||||||
this.orderNum = orderNum;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
|
|
||||||
public String getPath () {
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPath (String path) {
|
|
||||||
this.path = path;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
|
|
||||||
public String getComponent () {
|
|
||||||
return component;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setComponent (String component) {
|
|
||||||
this.component = component;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getQuery () {
|
|
||||||
return query;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setQuery (String query) {
|
|
||||||
this.query = query;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsFrame () {
|
|
||||||
return isFrame;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsFrame (String isFrame) {
|
|
||||||
this.isFrame = isFrame;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsCache () {
|
|
||||||
return isCache;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsCache (String isCache) {
|
|
||||||
this.isCache = isCache;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotBlank(message = "菜单类型不能为空")
|
|
||||||
public String getMenuType () {
|
|
||||||
return menuType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenuType (String menuType) {
|
|
||||||
this.menuType = menuType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getVisible () {
|
|
||||||
return visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVisible (String visible) {
|
|
||||||
this.visible = visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getStatus () {
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus (String status) {
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
|
|
||||||
public String getPerms () {
|
|
||||||
return perms;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPerms (String perms) {
|
|
||||||
this.perms = perms;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIcon () {
|
|
||||||
return icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIcon (String icon) {
|
|
||||||
this.icon = icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<SysMenu> getChildren () {
|
|
||||||
return children;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChildren (List<SysMenu> children) {
|
|
||||||
this.children = children;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString () {
|
|
||||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
|
||||||
.append("menuId", getMenuId())
|
|
||||||
.append("menuName", getMenuName())
|
|
||||||
.append("parentId", getParentId())
|
|
||||||
.append("orderNum", getOrderNum())
|
|
||||||
.append("path", getPath())
|
|
||||||
.append("component", getComponent())
|
|
||||||
.append("isFrame", getIsFrame())
|
|
||||||
.append("IsCache", getIsCache())
|
|
||||||
.append("menuType", getMenuType())
|
|
||||||
.append("visible", getVisible())
|
|
||||||
.append("status ", getStatus())
|
|
||||||
.append("perms", getPerms())
|
|
||||||
.append("icon", getIcon())
|
|
||||||
.append("createBy", getCreateBy())
|
|
||||||
.append("createTime", getCreateTime())
|
|
||||||
.append("updateBy", getUpdateBy())
|
|
||||||
.append("updateTime", getUpdateTime())
|
|
||||||
.append("remark", getRemark())
|
|
||||||
.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.muyu.system.domain.SysMenu;
|
import com.muyu.system.domain.SysMenu;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -90,6 +91,15 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||||
*/
|
*/
|
||||||
public SysMenu selectMenuById (Long menuId);
|
public SysMenu selectMenuById (Long menuId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据菜单ID查询信息
|
||||||
|
*
|
||||||
|
* @param parentId 父级菜单ID
|
||||||
|
*
|
||||||
|
* @return 菜单信息
|
||||||
|
*/
|
||||||
|
List<SysMenu> selectMenuByParentId(Long parentId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否存在菜单子节点
|
* 是否存在菜单子节点
|
||||||
*
|
*
|
||||||
|
@ -135,4 +145,6 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public SysMenu checkMenuNameUnique (@Param("menuName") String menuName, @Param("parentId") Long parentId);
|
public SysMenu checkMenuNameUnique (@Param("menuName") String menuName, @Param("parentId") Long parentId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.muyu.system.service.impl;
|
package com.muyu.system.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.muyu.common.core.constant.Constants;
|
import com.muyu.common.core.constant.Constants;
|
||||||
import com.muyu.common.core.constant.UserConstants;
|
import com.muyu.common.core.constant.UserConstants;
|
||||||
|
@ -43,11 +44,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 根据用户查询系统菜单列表
|
* 根据用户查询系统菜单列表
|
||||||
*
|
*
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
*
|
|
||||||
* @return 菜单列表
|
* @return 菜单列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysMenu> selectMenuList (Long userId) {
|
public List<SysMenu> selectMenuList(Long userId) {
|
||||||
return selectMenuList(new SysMenu(), userId);
|
return selectMenuList(new SysMenu(), userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,11 +55,11 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 查询系统菜单列表
|
* 查询系统菜单列表
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 菜单列表
|
* @return 菜单列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysMenu> selectMenuList (SysMenu menu, Long userId) {
|
public List<SysMenu> selectMenuList(SysMenu menu, Long userId) {
|
||||||
|
int size = menuMapper.selectMenuList(new SysMenu()).size();
|
||||||
List<SysMenu> menuList = null;
|
List<SysMenu> menuList = null;
|
||||||
// 管理员显示所有菜单信息
|
// 管理员显示所有菜单信息
|
||||||
if (SysUser.isAdmin(userId)) {
|
if (SysUser.isAdmin(userId)) {
|
||||||
|
@ -68,18 +68,61 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
menu.getParams().put("userId", userId);
|
menu.getParams().put("userId", userId);
|
||||||
menuList = menuMapper.selectMenuListByUserId(menu);
|
menuList = menuMapper.selectMenuListByUserId(menu);
|
||||||
}
|
}
|
||||||
|
if (menuList.size() != size) {
|
||||||
|
List<SysMenu> sysMenuList = new ArrayList<>();
|
||||||
|
menuList.forEach(menuObj -> {
|
||||||
|
//查子级
|
||||||
|
sysMenuList.addAll(treeMenu(menuObj));
|
||||||
|
//查父级
|
||||||
|
if (menuObj.getParentId() != 0) {
|
||||||
|
sysMenuList.addAll(superMenu(menuObj));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
menuList.addAll(sysMenuList);
|
||||||
|
menuList = menuList.stream().distinct().toList();
|
||||||
|
}
|
||||||
return menuList;
|
return menuList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<SysMenu> treeMenu(SysMenu menus) {
|
||||||
|
List<SysMenu> sysMenus1 = new ArrayList<>();
|
||||||
|
List<SysMenu> sysMenus = menuMapper.selectMenuByParentId(menus.getMenuId());
|
||||||
|
sysMenus1.addAll(sysMenus);
|
||||||
|
if (sysMenus.size()>0){
|
||||||
|
for (SysMenu sysMenu : sysMenus) {
|
||||||
|
treeMenu(sysMenu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// for (SysMenu sysMenu : sysMenus1) {
|
||||||
|
// sysMenus.addAll(treeMenu(sysMenu));
|
||||||
|
// }
|
||||||
|
return sysMenus1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将父级存入
|
||||||
|
*
|
||||||
|
* @param sysMenu
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SysMenu> superMenu(SysMenu sysMenu) {
|
||||||
|
List<SysMenu> sysMenus = new ArrayList<>();
|
||||||
|
SysMenu sysMenuParent = menuMapper.selectMenuById(sysMenu.getParentId());
|
||||||
|
sysMenus.add(sysMenuParent);
|
||||||
|
if (sysMenuParent.getParentId() != 0) {
|
||||||
|
sysMenus.addAll(superMenu(sysMenuParent));
|
||||||
|
}
|
||||||
|
return sysMenus;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户ID查询权限
|
* 根据用户ID查询权限
|
||||||
*
|
*
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
*
|
|
||||||
* @return 权限列表
|
* @return 权限列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Set<String> selectMenuPermsByUserId (Long userId) {
|
public Set<String> selectMenuPermsByUserId(Long userId) {
|
||||||
List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
|
List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
|
||||||
Set<String> permsSet = new HashSet<>();
|
Set<String> permsSet = new HashSet<>();
|
||||||
for (String perm : perms) {
|
for (String perm : perms) {
|
||||||
|
@ -94,11 +137,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 根据角色ID查询权限
|
* 根据角色ID查询权限
|
||||||
*
|
*
|
||||||
* @param roleId 角色ID
|
* @param roleId 角色ID
|
||||||
*
|
|
||||||
* @return 权限列表
|
* @return 权限列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Set<String> selectMenuPermsByRoleId (Long roleId) {
|
public Set<String> selectMenuPermsByRoleId(Long roleId) {
|
||||||
List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId);
|
List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId);
|
||||||
Set<String> permsSet = new HashSet<>();
|
Set<String> permsSet = new HashSet<>();
|
||||||
for (String perm : perms) {
|
for (String perm : perms) {
|
||||||
|
@ -113,11 +155,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 根据用户ID查询菜单
|
* 根据用户ID查询菜单
|
||||||
*
|
*
|
||||||
* @param userId 用户名称
|
* @param userId 用户名称
|
||||||
*
|
|
||||||
* @return 菜单列表
|
* @return 菜单列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysMenu> selectMenuTreeByUserId (Long userId) {
|
public List<SysMenu> selectMenuTreeByUserId(Long userId) {
|
||||||
List<SysMenu> menus = null;
|
List<SysMenu> menus = null;
|
||||||
if (SecurityUtils.isAdmin(userId)) {
|
if (SecurityUtils.isAdmin(userId)) {
|
||||||
menus = menuMapper.selectMenuTreeAll();
|
menus = menuMapper.selectMenuTreeAll();
|
||||||
|
@ -131,11 +172,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 根据角色ID查询菜单树信息
|
* 根据角色ID查询菜单树信息
|
||||||
*
|
*
|
||||||
* @param roleId 角色ID
|
* @param roleId 角色ID
|
||||||
*
|
|
||||||
* @return 选中菜单列表
|
* @return 选中菜单列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Long> selectMenuListByRoleId (Long roleId) {
|
public List<Long> selectMenuListByRoleId(Long roleId) {
|
||||||
SysRole role = roleMapper.selectRoleById(roleId);
|
SysRole role = roleMapper.selectRoleById(roleId);
|
||||||
return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
|
return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
|
||||||
}
|
}
|
||||||
|
@ -144,11 +184,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 构建前端路由所需要的菜单
|
* 构建前端路由所需要的菜单
|
||||||
*
|
*
|
||||||
* @param menus 菜单列表
|
* @param menus 菜单列表
|
||||||
*
|
|
||||||
* @return 路由列表
|
* @return 路由列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<RouterVo> buildMenus (List<SysMenu> menus) {
|
public List<RouterVo> buildMenus(List<SysMenu> menus) {
|
||||||
List<RouterVo> routers = new LinkedList<RouterVo>();
|
List<RouterVo> routers = new LinkedList<RouterVo>();
|
||||||
for (SysMenu menu : menus) {
|
for (SysMenu menu : menus) {
|
||||||
RouterVo router = new RouterVo();
|
RouterVo router = new RouterVo();
|
||||||
|
@ -196,14 +235,13 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 构建前端所需要树结构
|
* 构建前端所需要树结构
|
||||||
*
|
*
|
||||||
* @param menus 菜单列表
|
* @param menus 菜单列表
|
||||||
*
|
|
||||||
* @return 树结构列表
|
* @return 树结构列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysMenu> buildMenuTree (List<SysMenu> menus) {
|
public List<SysMenu> buildMenuTree(List<SysMenu> menus) {
|
||||||
List<SysMenu> returnList = new ArrayList<SysMenu>();
|
List<SysMenu> returnList = new ArrayList<SysMenu>();
|
||||||
List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList());
|
List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList());
|
||||||
for (Iterator<SysMenu> iterator = menus.iterator() ; iterator.hasNext() ; ) {
|
for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) {
|
||||||
SysMenu menu = (SysMenu) iterator.next();
|
SysMenu menu = (SysMenu) iterator.next();
|
||||||
// 如果是顶级节点, 遍历该父节点的所有子节点
|
// 如果是顶级节点, 遍历该父节点的所有子节点
|
||||||
if (!tempList.contains(menu.getParentId())) {
|
if (!tempList.contains(menu.getParentId())) {
|
||||||
|
@ -221,11 +259,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 构建前端所需要下拉树结构
|
* 构建前端所需要下拉树结构
|
||||||
*
|
*
|
||||||
* @param menus 菜单列表
|
* @param menus 菜单列表
|
||||||
*
|
|
||||||
* @return 下拉树结构列表
|
* @return 下拉树结构列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<TreeSelect> buildMenuTreeSelect (List<SysMenu> menus) {
|
public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) {
|
||||||
List<SysMenu> menuTrees = buildMenuTree(menus);
|
List<SysMenu> menuTrees = buildMenuTree(menus);
|
||||||
return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
|
return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
@ -234,11 +271,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 根据菜单ID查询信息
|
* 根据菜单ID查询信息
|
||||||
*
|
*
|
||||||
* @param menuId 菜单ID
|
* @param menuId 菜单ID
|
||||||
*
|
|
||||||
* @return 菜单信息
|
* @return 菜单信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysMenu selectMenuById (Long menuId) {
|
public SysMenu selectMenuById(Long menuId) {
|
||||||
return menuMapper.selectMenuById(menuId);
|
return menuMapper.selectMenuById(menuId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,11 +282,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 是否存在菜单子节点
|
* 是否存在菜单子节点
|
||||||
*
|
*
|
||||||
* @param menuId 菜单ID
|
* @param menuId 菜单ID
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean hasChildByMenuId (Long menuId) {
|
public boolean hasChildByMenuId(Long menuId) {
|
||||||
int result = menuMapper.hasChildByMenuId(menuId);
|
int result = menuMapper.hasChildByMenuId(menuId);
|
||||||
return result > 0;
|
return result > 0;
|
||||||
}
|
}
|
||||||
|
@ -259,11 +294,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 查询菜单使用数量
|
* 查询菜单使用数量
|
||||||
*
|
*
|
||||||
* @param menuId 菜单ID
|
* @param menuId 菜单ID
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean checkMenuExistRole (Long menuId) {
|
public boolean checkMenuExistRole(Long menuId) {
|
||||||
int result = roleMenuMapper.checkMenuExistRole(menuId);
|
int result = roleMenuMapper.checkMenuExistRole(menuId);
|
||||||
return result > 0;
|
return result > 0;
|
||||||
}
|
}
|
||||||
|
@ -272,11 +306,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 新增保存菜单信息
|
* 新增保存菜单信息
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int insertMenu (SysMenu menu) {
|
public int insertMenu(SysMenu menu) {
|
||||||
return menuMapper.insertMenu(menu);
|
return menuMapper.insertMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,11 +317,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 修改保存菜单信息
|
* 修改保存菜单信息
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int updateMenu (SysMenu menu) {
|
public int updateMenu(SysMenu menu) {
|
||||||
return menuMapper.updateMenu(menu);
|
return menuMapper.updateMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,11 +328,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 删除菜单管理信息
|
* 删除菜单管理信息
|
||||||
*
|
*
|
||||||
* @param menuId 菜单ID
|
* @param menuId 菜单ID
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deleteMenuById (Long menuId) {
|
public int deleteMenuById(Long menuId) {
|
||||||
return menuMapper.deleteMenuById(menuId);
|
return menuMapper.deleteMenuById(menuId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,11 +339,10 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 校验菜单名称是否唯一
|
* 校验菜单名称是否唯一
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean checkMenuNameUnique (SysMenu menu) {
|
public boolean checkMenuNameUnique(SysMenu menu) {
|
||||||
Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
|
Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
|
||||||
SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
|
SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
|
||||||
if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
|
||||||
|
@ -325,10 +355,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 获取路由名称
|
* 获取路由名称
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 路由名称
|
* @return 路由名称
|
||||||
*/
|
*/
|
||||||
public String getRouteName (SysMenu menu) {
|
public String getRouteName(SysMenu menu) {
|
||||||
String routerName = StringUtils.capitalize(menu.getPath());
|
String routerName = StringUtils.capitalize(menu.getPath());
|
||||||
// 非外链并且是一级目录(类型为目录)
|
// 非外链并且是一级目录(类型为目录)
|
||||||
if (isMenuFrame(menu)) {
|
if (isMenuFrame(menu)) {
|
||||||
|
@ -341,10 +370,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 获取路由地址
|
* 获取路由地址
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 路由地址
|
* @return 路由地址
|
||||||
*/
|
*/
|
||||||
public String getRouterPath (SysMenu menu) {
|
public String getRouterPath(SysMenu menu) {
|
||||||
String routerPath = menu.getPath();
|
String routerPath = menu.getPath();
|
||||||
// 内链打开外网方式
|
// 内链打开外网方式
|
||||||
if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
|
if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
|
||||||
|
@ -366,10 +394,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 获取组件信息
|
* 获取组件信息
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 组件信息
|
* @return 组件信息
|
||||||
*/
|
*/
|
||||||
public String getComponent (SysMenu menu) {
|
public String getComponent(SysMenu menu) {
|
||||||
String component = UserConstants.LAYOUT;
|
String component = UserConstants.LAYOUT;
|
||||||
if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
|
if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
|
||||||
component = menu.getComponent();
|
component = menu.getComponent();
|
||||||
|
@ -385,10 +412,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 是否为菜单内部跳转
|
* 是否为菜单内部跳转
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public boolean isMenuFrame (SysMenu menu) {
|
public boolean isMenuFrame(SysMenu menu) {
|
||||||
return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType())
|
return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType())
|
||||||
&& menu.getIsFrame().equals(UserConstants.NO_FRAME);
|
&& menu.getIsFrame().equals(UserConstants.NO_FRAME);
|
||||||
}
|
}
|
||||||
|
@ -397,10 +423,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 是否为内链组件
|
* 是否为内链组件
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public boolean isInnerLink (SysMenu menu) {
|
public boolean isInnerLink(SysMenu menu) {
|
||||||
return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath());
|
return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -408,10 +433,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* 是否为parent_view组件
|
* 是否为parent_view组件
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息
|
||||||
*
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public boolean isParentView (SysMenu menu) {
|
public boolean isParentView(SysMenu menu) {
|
||||||
return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType());
|
return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,12 +444,11 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
*
|
*
|
||||||
* @param list 分类表
|
* @param list 分类表
|
||||||
* @param parentId 传入的父节点ID
|
* @param parentId 传入的父节点ID
|
||||||
*
|
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
public List<SysMenu> getChildPerms (List<SysMenu> list, int parentId) {
|
public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) {
|
||||||
List<SysMenu> returnList = new ArrayList<SysMenu>();
|
List<SysMenu> returnList = new ArrayList<SysMenu>();
|
||||||
for (Iterator<SysMenu> iterator = list.iterator() ; iterator.hasNext() ; ) {
|
for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) {
|
||||||
SysMenu t = (SysMenu) iterator.next();
|
SysMenu t = (SysMenu) iterator.next();
|
||||||
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
|
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
|
||||||
if (t.getParentId() == parentId) {
|
if (t.getParentId() == parentId) {
|
||||||
|
@ -442,7 +465,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
* @param list 分类表
|
* @param list 分类表
|
||||||
* @param t 子节点
|
* @param t 子节点
|
||||||
*/
|
*/
|
||||||
private void recursionFn (List<SysMenu> list, SysMenu t) {
|
private void recursionFn(List<SysMenu> list, SysMenu t) {
|
||||||
// 得到子节点列表
|
// 得到子节点列表
|
||||||
List<SysMenu> childList = getChildList(list, t);
|
List<SysMenu> childList = getChildList(list, t);
|
||||||
t.setChildren(childList);
|
t.setChildren(childList);
|
||||||
|
@ -456,7 +479,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
/**
|
/**
|
||||||
* 得到子节点列表
|
* 得到子节点列表
|
||||||
*/
|
*/
|
||||||
private List<SysMenu> getChildList (List<SysMenu> list, SysMenu t) {
|
private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) {
|
||||||
List<SysMenu> tlist = new ArrayList<SysMenu>();
|
List<SysMenu> tlist = new ArrayList<SysMenu>();
|
||||||
Iterator<SysMenu> it = list.iterator();
|
Iterator<SysMenu> it = list.iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
|
@ -471,7 +494,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
/**
|
/**
|
||||||
* 判断是否有子节点
|
* 判断是否有子节点
|
||||||
*/
|
*/
|
||||||
private boolean hasChild (List<SysMenu> list, SysMenu t) {
|
private boolean hasChild(List<SysMenu> list, SysMenu t) {
|
||||||
return getChildList(list, t).size() > 0;
|
return getChildList(list, t).size() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -480,7 +503,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
*
|
*
|
||||||
* @return 替换后的内链域名
|
* @return 替换后的内链域名
|
||||||
*/
|
*/
|
||||||
public String innerLinkReplaceEach (String path) {
|
public String innerLinkReplaceEach(String path) {
|
||||||
return StringUtils.replaceEach(path, new String[]{Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":"},
|
return StringUtils.replaceEach(path, new String[]{Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":"},
|
||||||
new String[]{"", "", "", "/", "/"});
|
new String[]{"", "", "", "/", "/"});
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
<resultMap type="com.muyu.system.domain.SysMenu" id="SysMenuResult">
|
<resultMap type="com.muyu.system.domain.SysMenu" id="SysMenuResult">
|
||||||
<id property="menuId" column="menu_id"/>
|
<id property="menuId" column="menu_id"/>
|
||||||
<result property="menuName" column="menu_name"/>
|
<result property="menuName" column="menu_name"/>
|
||||||
<result property="parentName" column="parent_name"/>
|
|
||||||
<result property="parentId" column="parent_id"/>
|
<result property="parentId" column="parent_id"/>
|
||||||
<result property="orderNum" column="order_num"/>
|
<result property="orderNum" column="order_num"/>
|
||||||
<result property="path" column="path"/>
|
<result property="path" column="path"/>
|
||||||
|
@ -175,6 +174,13 @@
|
||||||
where menu_id = #{menuId}
|
where menu_id = #{menuId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectMenuByParentId" parameterType="Long" resultMap="SysMenuResult">
|
||||||
|
<include refid="selectMenuVo"/>
|
||||||
|
where parent_id = #{parentId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="hasChildByMenuId" resultType="Integer">
|
<select id="hasChildByMenuId" resultType="Integer">
|
||||||
select count(1)
|
select count(1)
|
||||||
from sys_menu
|
from sys_menu
|
||||||
|
|
Loading…
Reference in New Issue