|
@@ -8,6 +8,7 @@ import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
+
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.ruoyi.common.constant.UserConstants;
|
|
@@ -30,19 +31,9 @@ import com.ruoyi.system.service.ISysMenuService;
|
|
|
* @author ruoyi
|
|
|
*/
|
|
|
@Service
|
|
|
-public class SysMenuServiceImpl implements ISysMenuService
|
|
|
-{
|
|
|
+public class SysMenuServiceImpl implements ISysMenuService {
|
|
|
public static final String PREMISSION_STRING = "perms[\"{0}\"]";
|
|
|
|
|
|
- @Autowired
|
|
|
- private SysMenuMapper menuMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private SysRoleMapper roleMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private SysRoleMenuMapper roleMenuMapper;
|
|
|
-
|
|
|
/**
|
|
|
* 根据用户查询系统菜单列表
|
|
|
*
|
|
@@ -50,8 +41,7 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> selectMenuList(Long userId)
|
|
|
- {
|
|
|
+ public List<SysMenu> selectMenuList(Long userId) {
|
|
|
return selectMenuList(new SysMenu(), userId);
|
|
|
}
|
|
|
|
|
@@ -62,16 +52,12 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
|
|
|
- {
|
|
|
+ public List<SysMenu> selectMenuList(SysMenu menu, Long userId) {
|
|
|
List<SysMenu> menuList = null;
|
|
|
// 管理员显示所有菜单信息
|
|
|
- if (SysUser.isAdmin(userId))
|
|
|
- {
|
|
|
+ if (SysUser.isAdmin(userId)) {
|
|
|
menuList = menuMapper.selectMenuList(menu);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
menu.getParams().put("userId", userId);
|
|
|
menuList = menuMapper.selectMenuListByUserId(menu);
|
|
|
}
|
|
@@ -85,14 +71,11 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 权限列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public Set<String> selectMenuPermsByUserId(Long userId)
|
|
|
- {
|
|
|
+ public Set<String> selectMenuPermsByUserId(Long userId) {
|
|
|
List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
|
|
|
Set<String> permsSet = new HashSet<>();
|
|
|
- for (String perm : perms)
|
|
|
- {
|
|
|
- if (StringUtils.isNotEmpty(perm))
|
|
|
- {
|
|
|
+ for (String perm : perms) {
|
|
|
+ if (StringUtils.isNotEmpty(perm)) {
|
|
|
permsSet.addAll(Arrays.asList(perm.trim().split(",")));
|
|
|
}
|
|
|
}
|
|
@@ -106,15 +89,11 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<SysMenu> selectMenuTreeByUserId(Long userId)
|
|
|
- {
|
|
|
+ public List<SysMenu> selectMenuTreeByUserId(Long userId) {
|
|
|
List<SysMenu> menus = null;
|
|
|
- if (SecurityUtils.isAdmin(userId))
|
|
|
- {
|
|
|
+ if (SecurityUtils.isAdmin(userId)) {
|
|
|
menus = menuMapper.selectMenuTreeAll();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
menus = menuMapper.selectMenuTreeByUserId(userId);
|
|
|
}
|
|
|
return getChildPerms(menus, 0);
|
|
@@ -127,8 +106,7 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 选中菜单列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<Integer> selectMenuListByRoleId(Long roleId)
|
|
|
- {
|
|
|
+ public List<Integer> selectMenuListByRoleId(Long roleId) {
|
|
|
SysRole role = roleMapper.selectRoleById(roleId);
|
|
|
return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
|
|
|
}
|
|
@@ -140,37 +118,11 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 下拉树结构列表
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus)
|
|
|
- {
|
|
|
+ public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) {
|
|
|
List<SysMenu> menuTrees = buildMenuTree(menus);
|
|
|
return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 根据菜单ID查询信息
|
|
|
- *
|
|
|
- * @param menuId 菜单ID
|
|
|
- * @return 菜单信息
|
|
|
- */
|
|
|
- @Override
|
|
|
- public SysMenu selectMenuById(Long menuId)
|
|
|
- {
|
|
|
- return menuMapper.selectMenuById(menuId);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 是否存在菜单子节点
|
|
|
- *
|
|
|
- * @param menuId 菜单ID
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public boolean hasChildByMenuId(Long menuId)
|
|
|
- {
|
|
|
- int result = menuMapper.hasChildByMenuId(menuId);
|
|
|
- return result > 0 ? true : false;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 查询菜单使用数量
|
|
|
*
|
|
@@ -178,64 +130,10 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public boolean checkMenuExistRole(Long menuId)
|
|
|
- {
|
|
|
+ public boolean checkMenuExistRole(Long menuId) {
|
|
|
int result = roleMenuMapper.checkMenuExistRole(menuId);
|
|
|
return result > 0 ? true : false;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 新增保存菜单信息
|
|
|
- *
|
|
|
- * @param menu 菜单信息
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int insertMenu(SysMenu menu)
|
|
|
- {
|
|
|
- return menuMapper.insertMenu(menu);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改保存菜单信息
|
|
|
- *
|
|
|
- * @param menu 菜单信息
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int updateMenu(SysMenu menu)
|
|
|
- {
|
|
|
- return menuMapper.updateMenu(menu);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除菜单管理信息
|
|
|
- *
|
|
|
- * @param menuId 菜单ID
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int deleteMenuById(Long menuId)
|
|
|
- {
|
|
|
- return menuMapper.deleteMenuById(menuId);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 校验菜单名称是否唯一
|
|
|
- *
|
|
|
- * @param menu 菜单信息
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public String checkMenuNameUnique(SysMenu menu)
|
|
|
- {
|
|
|
- Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
|
|
|
- SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
|
|
|
- if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue())
|
|
|
- {
|
|
|
- return UserConstants.NOT_UNIQUE;
|
|
|
- }
|
|
|
- return UserConstants.UNIQUE;
|
|
|
- }
|
|
|
|
|
|
}
|