|
|
@@ -5,20 +5,19 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zhongzheng.common.constant.UserConstants;
|
|
|
-import com.zhongzheng.common.core.domain.TreeSelect;
|
|
|
-import com.zhongzheng.common.core.domain.entity.SysMenu;
|
|
|
-import com.zhongzheng.common.core.domain.entity.SysRole;
|
|
|
-import com.zhongzheng.common.core.domain.entity.SysUser;
|
|
|
+import com.zhongzheng.common.core.domain.entity.TopSysUser;
|
|
|
import com.zhongzheng.common.utils.SecurityUtils;
|
|
|
-import com.zhongzheng.modules.system.domain.SysRoleMenu;
|
|
|
import com.zhongzheng.modules.system.domain.vo.MetaVo;
|
|
|
import com.zhongzheng.modules.system.domain.vo.RouterVo;
|
|
|
-import com.zhongzheng.modules.system.mapper.SysRoleMapper;
|
|
|
-import com.zhongzheng.modules.system.mapper.SysRoleMenuMapper;
|
|
|
-import com.zhongzheng.modules.system.service.ISysUserService;
|
|
|
import com.zhongzheng.modules.top.domain.TopSysMenu;
|
|
|
+import com.zhongzheng.modules.top.domain.TopSysRole;
|
|
|
+import com.zhongzheng.modules.top.domain.TopSysRoleMenu;
|
|
|
import com.zhongzheng.modules.top.mapper.TopSysMenuMapper;
|
|
|
+import com.zhongzheng.modules.top.mapper.TopSysRoleMapper;
|
|
|
+import com.zhongzheng.modules.top.mapper.TopSysRoleMenuMapper;
|
|
|
import com.zhongzheng.modules.top.service.ITopSysMenuService;
|
|
|
+import com.zhongzheng.modules.top.service.ITopSysUserService;
|
|
|
+import com.zhongzheng.modules.top.util.TreeSelectTop;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -36,13 +35,13 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
public static final String PREMISSION_STRING = "perms[\"{0}\"]";
|
|
|
|
|
|
@Autowired
|
|
|
- private SysRoleMapper roleMapper;
|
|
|
+ private TopSysRoleMapper topRoleMapper;
|
|
|
|
|
|
@Autowired
|
|
|
- private SysRoleMenuMapper roleMenuMapper;
|
|
|
+ private TopSysRoleMenuMapper topRoleMenuMapper;
|
|
|
|
|
|
@Autowired
|
|
|
- private ISysUserService userService;
|
|
|
+ private ITopSysUserService topSysUserService;
|
|
|
|
|
|
/**
|
|
|
* 根据用户查询系统菜单列表
|
|
|
@@ -51,8 +50,8 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> selectMenuList(Long userId) {
|
|
|
- return selectMenuList(new SysMenu(), userId);
|
|
|
+ public List<TopSysMenu> selectMenuList(Long userId) {
|
|
|
+ return selectMenuList(new TopSysMenu(), userId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -62,17 +61,17 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> selectMenuList(SysMenu menu, Long userId) {
|
|
|
- List<SysMenu> menuList = null;
|
|
|
- SysUser sysUser = userService.selectUserById(userId);
|
|
|
+ public List<TopSysMenu> selectMenuList(TopSysMenu menu, Long userId) {
|
|
|
+ List<TopSysMenu> menuList = null;
|
|
|
+ TopSysUser sysUser = topSysUserService.selectUserById(userId);
|
|
|
// 管理员显示所有菜单信息
|
|
|
- if (SysUser.isAdmin(sysUser.getUserName())) {
|
|
|
- menuList = list(new LambdaQueryWrapper<SysMenu>()
|
|
|
- .like(StrUtil.isNotBlank(menu.getMenuName()),SysMenu::getMenuName,menu.getMenuName())
|
|
|
- .eq(StrUtil.isNotBlank(menu.getVisible()),SysMenu::getVisible,menu.getVisible())
|
|
|
- .eq(StrUtil.isNotBlank(menu.getStatus()),SysMenu::getStatus,menu.getStatus())
|
|
|
- .orderByAsc(SysMenu::getParentId)
|
|
|
- .orderByAsc(SysMenu::getOrderNum));
|
|
|
+ if (TopSysUser.isAdmin(sysUser.getUserName())) {
|
|
|
+ menuList = list(new LambdaQueryWrapper<TopSysMenu>()
|
|
|
+ .like(StrUtil.isNotBlank(menu.getMenuName()),TopSysMenu::getMenuName,menu.getMenuName())
|
|
|
+ .eq(StrUtil.isNotBlank(menu.getVisible()),TopSysMenu::getVisible,menu.getVisible())
|
|
|
+ .eq(StrUtil.isNotBlank(menu.getStatus()),TopSysMenu::getStatus,menu.getStatus())
|
|
|
+ .orderByAsc(TopSysMenu::getParentId)
|
|
|
+ .orderByAsc(TopSysMenu::getOrderNum));
|
|
|
} else {
|
|
|
menu.getParams().put("userId", userId);
|
|
|
menuList = baseMapper.selectMenuListByUserId(menu);
|
|
|
@@ -105,8 +104,8 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> selectMenuTreeByUserId(Long userId) {
|
|
|
- List<SysMenu> menus = null;
|
|
|
+ public List<TopSysMenu> selectMenuTreeByUserId(Long userId) {
|
|
|
+ List<TopSysMenu> menus = null;
|
|
|
if (SecurityUtils.isAdmin(userId)) {
|
|
|
menus = baseMapper.selectMenuTreeAll();
|
|
|
} else {
|
|
|
@@ -123,7 +122,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
*/
|
|
|
@Override
|
|
|
public List<Integer> selectMenuListByRoleId(Long roleId) {
|
|
|
- SysRole role = roleMapper.selectById(roleId);
|
|
|
+ TopSysRole role = topRoleMapper.selectById(roleId);
|
|
|
return baseMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
|
|
|
}
|
|
|
|
|
|
@@ -134,17 +133,17 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 路由列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<RouterVo> buildMenus(List<SysMenu> menus) {
|
|
|
+ public List<RouterVo> buildMenus(List<TopSysMenu> menus) {
|
|
|
List<RouterVo> routers = new LinkedList<RouterVo>();
|
|
|
- for (SysMenu menu : menus) {
|
|
|
+ for (TopSysMenu menu : menus) {
|
|
|
RouterVo router = new RouterVo();
|
|
|
router.setMenuId(menu.getMenuId());
|
|
|
router.setHidden("1".equals(menu.getVisible()));
|
|
|
router.setName(getRouteName(menu));
|
|
|
router.setPath(getRouterPath(menu));
|
|
|
router.setComponent(getComponent(menu));
|
|
|
- router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StrUtil.equals("1", menu.getIsCache())));
|
|
|
- List<SysMenu> cMenus = menu.getChildren();
|
|
|
+ router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StrUtil.equals("1", menu.getIsCache().toString())));
|
|
|
+ List<TopSysMenu> cMenus = menu.getChildren();
|
|
|
if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
|
|
|
router.setAlwaysShow(true);
|
|
|
router.setRedirect("noRedirect");
|
|
|
@@ -156,7 +155,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
children.setPath(menu.getPath());
|
|
|
children.setComponent(menu.getComponent());
|
|
|
children.setName(StrUtil.upperFirst(menu.getPath()));
|
|
|
- children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StrUtil.equals("1", menu.getIsCache())));
|
|
|
+ children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StrUtil.equals("1", menu.getIsCache().toString())));
|
|
|
childrenList.add(children);
|
|
|
router.setChildren(childrenList);
|
|
|
}
|
|
|
@@ -172,14 +171,14 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 树结构列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> buildMenuTree(List<SysMenu> menus) {
|
|
|
- List<SysMenu> returnList = new ArrayList<SysMenu>();
|
|
|
+ public List<TopSysMenu> buildMenuTree(List<TopSysMenu> menus) {
|
|
|
+ List<TopSysMenu> returnList = new ArrayList<TopSysMenu>();
|
|
|
List<Long> tempList = new ArrayList<Long>();
|
|
|
- for (SysMenu dept : menus) {
|
|
|
+ for (TopSysMenu dept : menus) {
|
|
|
tempList.add(dept.getMenuId());
|
|
|
}
|
|
|
- for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) {
|
|
|
- SysMenu menu = (SysMenu) iterator.next();
|
|
|
+ for (Iterator<TopSysMenu> iterator = menus.iterator(); iterator.hasNext(); ) {
|
|
|
+ TopSysMenu menu = (TopSysMenu) iterator.next();
|
|
|
// 如果是顶级节点, 遍历该父节点的所有子节点
|
|
|
if (!tempList.contains(menu.getParentId())) {
|
|
|
recursionFn(menus, menu);
|
|
|
@@ -199,9 +198,9 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 下拉树结构列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) {
|
|
|
- List<SysMenu> menuTrees = buildMenuTree(menus);
|
|
|
- return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
|
|
|
+ public List<TreeSelectTop> buildMenuTreeSelect(List<TopSysMenu> menus) {
|
|
|
+ List<TopSysMenu> menuTrees = buildMenuTree(menus);
|
|
|
+ return menuTrees.stream().map(TreeSelectTop::new).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -211,7 +210,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 菜单信息
|
|
|
*/
|
|
|
@Override
|
|
|
- public SysMenu selectMenuById(Long menuId) {
|
|
|
+ public TopSysMenu selectMenuById(Long menuId) {
|
|
|
return getById(menuId);
|
|
|
}
|
|
|
|
|
|
@@ -223,7 +222,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
*/
|
|
|
@Override
|
|
|
public boolean hasChildByMenuId(Long menuId) {
|
|
|
- int result = count(new LambdaQueryWrapper<SysMenu>().eq(SysMenu::getParentId,menuId));
|
|
|
+ int result = count(new LambdaQueryWrapper<TopSysMenu>().eq(TopSysMenu::getParentId,menuId));
|
|
|
return result > 0 ? true : false;
|
|
|
}
|
|
|
|
|
|
@@ -235,7 +234,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
*/
|
|
|
@Override
|
|
|
public boolean checkMenuExistRole(Long menuId) {
|
|
|
- int result = roleMenuMapper.selectCount(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getMenuId,menuId));
|
|
|
+ int result = topRoleMenuMapper.selectCount(new LambdaQueryWrapper<TopSysRoleMenu>().eq(TopSysRoleMenu::getMenuId,menuId));
|
|
|
return result > 0 ? true : false;
|
|
|
}
|
|
|
|
|
|
@@ -246,7 +245,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int insertMenu(SysMenu menu) {
|
|
|
+ public int insertMenu(TopSysMenu menu) {
|
|
|
return baseMapper.insert(menu);
|
|
|
}
|
|
|
|
|
|
@@ -257,7 +256,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int updateMenu(SysMenu menu) {
|
|
|
+ public int updateMenu(TopSysMenu menu) {
|
|
|
return baseMapper.updateById(menu);
|
|
|
}
|
|
|
|
|
|
@@ -279,11 +278,11 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public String checkMenuNameUnique(SysMenu menu) {
|
|
|
+ public String checkMenuNameUnique(TopSysMenu menu) {
|
|
|
Long menuId = Validator.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
|
|
|
- SysMenu info = getOne(new LambdaQueryWrapper<SysMenu>()
|
|
|
- .eq(SysMenu::getMenuName,menu.getMenuName())
|
|
|
- .eq(SysMenu::getParentId,menu.getParentId())
|
|
|
+ TopSysMenu info = getOne(new LambdaQueryWrapper<TopSysMenu>()
|
|
|
+ .eq(TopSysMenu::getMenuName,menu.getMenuName())
|
|
|
+ .eq(TopSysMenu::getParentId,menu.getParentId())
|
|
|
.last("limit 1"));
|
|
|
if (Validator.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
|
|
|
return UserConstants.NOT_UNIQUE;
|
|
|
@@ -292,12 +291,12 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SysMenu> listSysMenuByTenant(Long tenantId) {
|
|
|
+ public List<TopSysMenu> listSysMenuByTenant(Long tenantId) {
|
|
|
return baseMapper.listSysMenuByTenant(tenantId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Integer updateParentById(SysMenu newMenus) {
|
|
|
+ public Integer updateParentById(TopSysMenu newMenus) {
|
|
|
return baseMapper.updateParentById(newMenus);
|
|
|
}
|
|
|
|
|
|
@@ -307,7 +306,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param menu 菜单信息
|
|
|
* @return 路由名称
|
|
|
*/
|
|
|
- public String getRouteName(SysMenu menu) {
|
|
|
+ public String getRouteName(TopSysMenu menu) {
|
|
|
String routerName = StrUtil.upperFirst(menu.getPath());
|
|
|
// 非外链并且是一级目录(类型为目录)
|
|
|
if (isMenuFrame(menu)) {
|
|
|
@@ -322,7 +321,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param menu 菜单信息
|
|
|
* @return 路由地址
|
|
|
*/
|
|
|
- public String getRouterPath(SysMenu menu) {
|
|
|
+ public String getRouterPath(TopSysMenu menu) {
|
|
|
String routerPath = menu.getPath();
|
|
|
// 非外链并且是一级目录(类型为目录)
|
|
|
if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType())
|
|
|
@@ -342,7 +341,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param menu 菜单信息
|
|
|
* @return 组件信息
|
|
|
*/
|
|
|
- public String getComponent(SysMenu menu) {
|
|
|
+ public String getComponent(TopSysMenu menu) {
|
|
|
String component = UserConstants.LAYOUT;
|
|
|
if (StrUtil.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
|
|
|
component = menu.getComponent();
|
|
|
@@ -358,7 +357,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param menu 菜单信息
|
|
|
* @return 结果
|
|
|
*/
|
|
|
- public boolean isMenuFrame(SysMenu menu) {
|
|
|
+ public boolean isMenuFrame(TopSysMenu menu) {
|
|
|
return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType())
|
|
|
&& menu.getIsFrame().equals(UserConstants.NO_FRAME);
|
|
|
}
|
|
|
@@ -369,7 +368,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param menu 菜单信息
|
|
|
* @return 结果
|
|
|
*/
|
|
|
- public boolean isParentView(SysMenu menu) {
|
|
|
+ public boolean isParentView(TopSysMenu menu) {
|
|
|
return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType());
|
|
|
}
|
|
|
|
|
|
@@ -380,10 +379,10 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param parentId 传入的父节点ID
|
|
|
* @return String
|
|
|
*/
|
|
|
- public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId) {
|
|
|
- List<SysMenu> returnList = new ArrayList<SysMenu>();
|
|
|
- for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext(); ) {
|
|
|
- SysMenu t = (SysMenu) iterator.next();
|
|
|
+ public List<TopSysMenu> getChildPerms(List<TopSysMenu> list, int parentId) {
|
|
|
+ List<TopSysMenu> returnList = new ArrayList<TopSysMenu>();
|
|
|
+ for (Iterator<TopSysMenu> iterator = list.iterator(); iterator.hasNext(); ) {
|
|
|
+ TopSysMenu t = (TopSysMenu) iterator.next();
|
|
|
// 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
|
|
|
if (t.getParentId() == parentId) {
|
|
|
recursionFn(list, t);
|
|
|
@@ -399,11 +398,11 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
* @param list
|
|
|
* @param t
|
|
|
*/
|
|
|
- private void recursionFn(List<SysMenu> list, SysMenu t) {
|
|
|
+ private void recursionFn(List<TopSysMenu> list, TopSysMenu t) {
|
|
|
// 得到子节点列表
|
|
|
- List<SysMenu> childList = getChildList(list, t);
|
|
|
+ List<TopSysMenu> childList = getChildList(list, t);
|
|
|
t.setChildren(childList);
|
|
|
- for (SysMenu tChild : childList) {
|
|
|
+ for (TopSysMenu tChild : childList) {
|
|
|
if (hasChild(list, tChild)) {
|
|
|
recursionFn(list, tChild);
|
|
|
}
|
|
|
@@ -413,11 +412,11 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
/**
|
|
|
* 得到子节点列表
|
|
|
*/
|
|
|
- private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t) {
|
|
|
- List<SysMenu> tlist = new ArrayList<SysMenu>();
|
|
|
- Iterator<SysMenu> it = list.iterator();
|
|
|
+ private List<TopSysMenu> getChildList(List<TopSysMenu> list, TopSysMenu t) {
|
|
|
+ List<TopSysMenu> tlist = new ArrayList<TopSysMenu>();
|
|
|
+ Iterator<TopSysMenu> it = list.iterator();
|
|
|
while (it.hasNext()) {
|
|
|
- SysMenu n = (SysMenu) it.next();
|
|
|
+ TopSysMenu n = (TopSysMenu) it.next();
|
|
|
if (n.getParentId().longValue() == t.getMenuId().longValue()) {
|
|
|
tlist.add(n);
|
|
|
}
|
|
|
@@ -428,7 +427,7 @@ public class TopSysMenuServiceImpl extends ServiceImpl<TopSysMenuMapper, TopSysM
|
|
|
/**
|
|
|
* 判断是否有子节点
|
|
|
*/
|
|
|
- private boolean hasChild(List<SysMenu> list, SysMenu t) {
|
|
|
+ private boolean hasChild(List<TopSysMenu> list, TopSysMenu t) {
|
|
|
return getChildList(list, t).size() > 0 ? true : false;
|
|
|
}
|
|
|
}
|