| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | 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.system.mapper.SysUserRoleMapper; |
| | | import com.ruoyi.system.query.SysRoleQuery; |
| | | import com.ruoyi.system.service.ISysRoleService; |
| | | import com.ruoyi.system.vo.RoleInfoVO; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashSet; |
| | |
| | | * @author ruoyi |
| | | */ |
| | | @Service |
| | | public class SysRoleServiceImpl implements ISysRoleService { |
| | | public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements |
| | | ISysRoleService { |
| | | |
| | | @Autowired |
| | | private SysRoleMapper roleMapper; |
| | |
| | | // 添加角色 |
| | | SysRole sysRole = new SysRole(); |
| | | sysRole.setRoleName(dto.getRoleName()); |
| | | sysRole.setRoleKey("admin"); |
| | | roleMapper.insertRole(sysRole); |
| | | |
| | | // 添加角色权限中间表 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo<SysRole> selectList(SysRoleQuery query) { |
| | | PageInfo<SysRole> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<SysRole> list = roleMapper.selectList(query, pageInfo); |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | public PageDTO<RoleInfoVO> selectList(SysRoleQuery query) { |
| | | Page<RoleInfoVO> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<RoleInfoVO> pageVO = roleMapper.selectList(query, page); |
| | | return PageDTO.of(pageVO); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | return roleMenuMapper.batchRoleMenu(sysRoleMenus); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysMenu> getMenuByRoleId(Long roleId) { |
| | | SysRole sysRole = roleMapper.selectRoleById(roleId); |
| | | // 获取当前角色的菜单列表 |
| | | List<SysMenu> menus = menuMapper.selectListByRoleId(sysRole.getRoleId()); |
| | | if (menus.size() == 0) { |
| | | return new ArrayList<>(); |
| | | } |
| | | List<Long> menusId = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); |
| | | // 获取当前的权限菜单(有层级) |
| | | return this.getMenuLevelList(menusId); |
| | | } |
| | | } |