From d3a3ad5cbd15a54d41e98ef12344fa9ff88ce635 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 04 三月 2022 11:45:38 +0800 Subject: [PATCH] update 简化查询用户功能 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 4fe4b5d..8d1613f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -4,12 +4,13 @@ import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.TreeBuildUtils; import com.ruoyi.system.domain.SysRoleMenu; @@ -58,7 +59,7 @@ public List<SysMenu> selectMenuList(SysMenu menu, Long userId) { List<SysMenu> menuList = null; // 绠$悊鍛樻樉绀烘墍鏈夎彍鍗曚俊鎭� - if (SysUser.isAdmin(userId)) { + if (LoginHelper.isAdmin(userId)) { menuList = baseMapper.selectList(new LambdaQueryWrapper<SysMenu>() .like(StringUtils.isNotBlank(menu.getMenuName()), SysMenu::getMenuName, menu.getMenuName()) .eq(StringUtils.isNotBlank(menu.getVisible()), SysMenu::getVisible, menu.getVisible()) @@ -66,8 +67,14 @@ .orderByAsc(SysMenu::getParentId) .orderByAsc(SysMenu::getOrderNum)); } else { - menu.getParams().put("userId", userId); - menuList = baseMapper.selectMenuListByUserId(menu); + QueryWrapper<SysMenu> wrapper = Wrappers.query(); + wrapper.eq("ur.user_id", userId) + .like(StringUtils.isNotBlank(menu.getMenuName()), "m.menu_name", menu.getMenuName()) + .eq(StringUtils.isNotBlank(menu.getVisible()), "m.visible", menu.getVisible()) + .eq(StringUtils.isNotBlank(menu.getStatus()), "m.status", menu.getStatus()) + .orderByAsc("m.parent_id") + .orderByAsc("m.order_num"); + menuList = baseMapper.selectMenuListByUserId(wrapper); } return menuList; } @@ -99,7 +106,7 @@ @Override public List<SysMenu> selectMenuTreeByUserId(Long userId) { List<SysMenu> menus = null; - if (SecurityUtils.isAdmin(userId)) { + if (LoginHelper.isAdmin(userId)) { menus = baseMapper.selectMenuTreeAll(); } else { menus = baseMapper.selectMenuTreeByUserId(userId); @@ -181,8 +188,7 @@ if (CollUtil.isEmpty(menus)) { return CollUtil.newArrayList(); } - Long parentId = menus.get(0).getParentId(); - return TreeBuildUtils.build(menus, parentId, (menu, tree) -> + return TreeBuildUtils.build(menus, (menu, tree) -> tree.setId(menu.getMenuId()) .setParentId(menu.getParentId()) .setName(menu.getMenuName()) @@ -263,12 +269,11 @@ */ @Override public String checkMenuNameUnique(SysMenu menu) { - Long menuId = ObjectUtil.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); - boolean count = baseMapper.exists(new LambdaQueryWrapper<SysMenu>() + boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysMenu>() .eq(SysMenu::getMenuName, menu.getMenuName()) .eq(SysMenu::getParentId, menu.getParentId()) - .ne(SysMenu::getMenuId, menuId)); - if (count) { + .ne(ObjectUtil.isNotNull(menu.getMenuId()), SysMenu::getMenuId, menu.getMenuId())); + if (exist) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; -- Gitblit v1.9.3