From 925219ebfda2a480df99ca06a13033c78ae8d81f Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 30 五月 2025 18:08:16 +0800 Subject: [PATCH] 权限管理+用户管理 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 77 insertions(+), 6 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index e432bb1..7ad7bd7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -1,11 +1,16 @@ 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; @@ -347,7 +352,7 @@ // 删除角色与菜单关联 roleMenuMapper.deleteRoleMenuByRoleId(roleId); // 删除角色与部门关联 - roleDeptMapper.deleteRoleDeptByRoleId(roleId); +// roleDeptMapper.deleteRoleDeptByRoleId(roleId); return roleMapper.deleteRoleById(roleId); } @@ -424,4 +429,70 @@ } 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(); + + } } -- Gitblit v1.7.1