From e3a2245265516fef78b4737d6fffc939e7c5e0af Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期四, 03 七月 2025 17:56:07 +0800 Subject: [PATCH] bug修改 --- pt-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 deletions(-) diff --git a/pt-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/pt-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 660d127..146de7a 100644 --- a/pt-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/pt-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -6,6 +6,7 @@ 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.mapper.*; import com.ruoyi.system.object.dto.AddSysRoleDTO; import com.ruoyi.system.object.dto.EditSysRoleDTO; import com.ruoyi.system.object.vo.SysRolePageVO; @@ -25,10 +26,6 @@ import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; -import com.ruoyi.system.mapper.SysRoleDeptMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysRoleMenuMapper; -import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysRoleService; /** @@ -50,6 +47,10 @@ @Autowired private SysRoleDeptMapper roleDeptMapper; + @Autowired + private SysUserMapper sysUserMapper; + @Autowired + private SysUserRoleMapper sysUserRoleMapper; /** * 根据条件分页查询角色数据 @@ -350,6 +351,12 @@ @Transactional public int deleteRoleById(Long roleId) { + //查看角色是否有用户绑定 + List<SysUserRole> sysUserRoles = sysUserRoleMapper.selectUserIdByRoleId(roleId); + if (!sysUserRoles.isEmpty()){ + throw new ServiceException("有用户绑定该角色,不能删除"); + } + // 删除角色与菜单关联 roleMenuMapper.deleteRoleMenuByRoleId(roleId); // 删除角色与部门关联 @@ -451,6 +458,8 @@ LoginUser loginUser = (LoginUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); sysRole.setCreateBy(loginUser.getUsername()); sysRole.setCreateTime(DateUtils.getNowDate()); + sysRole.setRoleSort(1); + sysRole.setDelFlag("0"); roleMapper.insertRole(sysRole); //添加角色菜单 roleMenuMapper.insert(sysRole.getRoleId(),dto.getMenuIds()); @@ -468,12 +477,22 @@ sysRole.setRoleName(dto.getRoleName()); List<SysRole> sysRoles = roleMapper.selectRoleList(sysRole); if (sysRoles!=null && !sysRoles.isEmpty()){ - throw new ServiceException("该角色名称重复"); + sysRoles.forEach(role -> { + if (!Objects.equals(role.getRoleId(), dto.getRoleId())){ + //id不同 + if (role.getRoleName().equals(dto.getRoleName())){ + throw new ServiceException("该角色名称重复"); + } + } + }); } //删除之前的 roleMenuMapper.deleteRoleMenuByRoleId(dto.getRoleId()); //添加角色菜单 - roleMenuMapper.insert(sysRole.getRoleId(),dto.getMenuIds()); + roleMenuMapper.insert(dto.getRoleId(),dto.getMenuIds()); + //修改角色 + sysRole1.setRoleName(dto.getRoleName()); + roleMapper.updateRole(sysRole1); } @Override -- Gitblit v1.7.1