From d9367425fac44291296a226f2ee81c03becc48cb Mon Sep 17 00:00:00 2001
From: jack <5120499+jack_kui@user.noreply.gitee.com>
Date: 星期四, 02 七月 2020 18:03:18 +0800
Subject: [PATCH] 令牌秘钥的“秘”写错了,看到顺手就提交了哈
---
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java
index 82c458d..71f3c66 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.exception.CustomException;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
import com.ruoyi.project.system.domain.SysRole;
import com.ruoyi.project.system.domain.SysRoleDept;
@@ -18,6 +19,7 @@
import com.ruoyi.project.system.mapper.SysRoleDeptMapper;
import com.ruoyi.project.system.mapper.SysRoleMapper;
import com.ruoyi.project.system.mapper.SysRoleMenuMapper;
+import com.ruoyi.project.system.mapper.SysUserRoleMapper;
import com.ruoyi.project.system.service.ISysRoleService;
/**
@@ -33,6 +35,9 @@
@Autowired
private SysRoleMenuMapper roleMenuMapper;
+
+ @Autowired
+ private SysUserRoleMapper userRoleMapper;
@Autowired
private SysRoleDeptMapper roleDeptMapper;
@@ -76,9 +81,10 @@
*
* @return 角色列表
*/
+ @Override
public List<SysRole> selectRoleAll()
{
- return roleMapper.selectRoleAll();
+ return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
}
/**
@@ -87,6 +93,7 @@
* @param userId 用户ID
* @return 选中角色ID列表
*/
+ @Override
public List<Integer> selectRoleListByUserId(Long userId)
{
return roleMapper.selectRoleListByUserId(userId);
@@ -98,6 +105,7 @@
* @param roleId 角色ID
* @return 角色对象信息
*/
+ @Override
public SysRole selectRoleById(Long roleId)
{
return roleMapper.selectRoleById(roleId);
@@ -144,12 +152,25 @@
*
* @param role 角色信息
*/
+ @Override
public void checkRoleAllowed(SysRole role)
{
if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin())
{
throw new CustomException("不允许操作超级管理员角色");
}
+ }
+
+ /**
+ * 通过角色ID查询角色使用数量
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ @Override
+ public int countUserRoleByRoleId(Long roleId)
+ {
+ return userRoleMapper.countUserRoleByRoleId(roleId);
}
/**
@@ -190,6 +211,7 @@
* @param role 角色信息
* @return 结果
*/
+ @Override
public int updateRoleStatus(SysRole role)
{
return roleMapper.updateRole(role);
@@ -272,4 +294,25 @@
{
return roleMapper.deleteRoleById(roleId);
}
+
+ /**
+ * 批量删除角色信息
+ *
+ * @param roleIds 需要删除的角色ID
+ * @return 结果
+ */
+ @Override
+ public int deleteRoleByIds(Long[] roleIds)
+ {
+ for (Long roleId : roleIds)
+ {
+ checkRoleAllowed(new SysRole(roleId));
+ SysRole role = selectRoleById(roleId);
+ if (countUserRoleByRoleId(roleId) > 0)
+ {
+ throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName()));
+ }
+ }
+ return roleMapper.deleteRoleByIds(roleIds);
+ }
}
--
Gitblit v1.9.2