| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import java.util.*; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.system.pojo.dto.AddSysRoleDTO; |
| | | import com.ruoyi.system.pojo.dto.EditSysRoleDTO; |
| | | import com.ruoyi.system.pojo.vo.SysRolePageVO; |
| | | import com.ruoyi.system.pojo.vo.SysRoleVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.core.context.SecurityContextHolder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import com.ruoyi.common.annotation.DataScope; |
| | |
| | | // 删除角色与菜单关联 |
| | | roleMenuMapper.deleteRoleMenuByRoleId(roleId); |
| | | // 删除角色与部门关联 |
| | | roleDeptMapper.deleteRoleDeptByRoleId(roleId); |
| | | // roleDeptMapper.deleteRoleDeptByRoleId(roleId); |
| | | return roleMapper.deleteRoleById(roleId); |
| | | } |
| | | |
| | |
| | | } |
| | | return userRoleMapper.batchUserRole(list); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<SysRolePageVO> page(IPage<SysRolePageVO> page, String name) { |
| | | return roleMapper.page(page,name); |
| | | } |
| | | |
| | | @Override |
| | | public void add(AddSysRoleDTO dto) { |
| | | //判断角色名称是否存在 |
| | | SysRole sysRole = new SysRole(); |
| | | sysRole.setRoleName(dto.getRoleName()); |
| | | List<SysRole> sysRoles = roleMapper.selectRoleList(sysRole); |
| | | if (sysRoles!=null && !sysRoles.isEmpty()){ |
| | | throw new ServiceException("该角色名称重复"); |
| | | } |
| | | //添加角色 |
| | | sysRole.setStatus("0"); |
| | | LoginUser loginUser = (LoginUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | sysRole.setCreateBy(loginUser.getUsername()); |
| | | sysRole.setCreateTime(DateUtils.getNowDate()); |
| | | roleMapper.insertRole(sysRole); |
| | | //添加角色菜单 |
| | | roleMenuMapper.insert(sysRole.getRoleId(),dto.getMenuIds()); |
| | | } |
| | | |
| | | @Override |
| | | public SysRoleVO getById(Long roleId) { |
| | | SysRoleVO sysRoleVO = new SysRoleVO(); |
| | | SysRole sysRole = roleMapper.selectRoleById(roleId); |
| | | if (sysRole==null||sysRole.getDelFlag().equals("1")){ |
| | | throw new ServiceException("该角色不存在"); |
| | | } |
| | | sysRoleVO.setRoleName(sysRole.getRoleName()); |
| | | sysRoleVO.setRoleId(roleId); |
| | | ArrayList<Long> roleIds = new ArrayList<>(); |
| | | roleIds.add(roleId); |
| | | List<Long> menuIds = roleMenuMapper.selectMenuIdsByRoleIds(roleIds); |
| | | sysRoleVO.setMenuIdList(menuIds); |
| | | return sysRoleVO; |
| | | } |
| | | |
| | | @Override |
| | | public void edit(EditSysRoleDTO dto) { |
| | | //判断角色id是否存在 |
| | | SysRole sysRole1 = roleMapper.selectRoleById(dto.getRoleId()); |
| | | if (sysRole1==null||sysRole1.getDelFlag().equals("1")){ |
| | | throw new ServiceException("该角色不存在"); |
| | | } |
| | | //判断角色名称是否存在 |
| | | SysRole sysRole = new SysRole(); |
| | | sysRole.setRoleName(dto.getRoleName()); |
| | | List<SysRole> sysRoles = roleMapper.selectRoleList(sysRole); |
| | | if (sysRoles!=null && !sysRoles.isEmpty()){ |
| | | throw new ServiceException("该角色名称重复"); |
| | | } |
| | | //删除之前的 |
| | | roleMenuMapper.deleteRoleMenuByRoleId(dto.getRoleId()); |
| | | //添加角色菜单 |
| | | roleMenuMapper.insert(sysRole.getRoleId(),dto.getMenuIds()); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysRoleVO> getOptionSelect() { |
| | | return roleMapper.getOptionSelect(); |
| | | |
| | | } |
| | | } |