From 3d47ec2e73b96b6c060258c78f6eb364f91c2cf3 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Fri, 02 Jul 2021 10:59:22 +0800
Subject: [PATCH] 用户管理新增分配角色功能
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index fd22d33..e657826 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -2,18 +2,16 @@
import java.util.ArrayList;
import java.util.List;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.CustomException;
+import com.ruoyi.common.core.utils.SecurityUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.datascope.annotation.DataScope;
-import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.domain.SysPost;
@@ -194,6 +192,7 @@
*
* @param user 用户信息
*/
+ @Override
public void checkUserAllowed(SysUser user)
{
if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin())
@@ -244,6 +243,18 @@
}
/**
+ * 用户授权角色
+ *
+ * @param userId 用户ID
+ * @param roleIds 角色组
+ */
+ public void insertUserAuth(Long userId, Long[] roleIds)
+ {
+ userRoleMapper.deleteUserRoleByUserId(userId);
+ insertUserRole(userId, roleIds);
+ }
+
+ /**
* 修改用户状态
*
* @param user 用户信息
@@ -270,10 +281,11 @@
/**
* 修改用户头像
*
- * @param userId 用户ID
+ * @param userName 用户名
* @param avatar 头像地址
* @return 结果
*/
+ @Override
public boolean updateUserAvatar(String userName, String avatar)
{
return userMapper.updateUserAvatar(userName, avatar) > 0;
@@ -357,12 +369,39 @@
}
/**
+ * 新增用户角色信息
+ *
+ * @param userId 用户ID
+ * @param roleIds 角色组
+ */
+ public void insertUserRole(Long userId, Long[] roleIds)
+ {
+ if (StringUtils.isNotNull(roleIds))
+ {
+ // 新增用户与角色管理
+ List<SysUserRole> list = new ArrayList<SysUserRole>();
+ for (Long roleId : roleIds)
+ {
+ SysUserRole ur = new SysUserRole();
+ ur.setUserId(userId);
+ ur.setRoleId(roleId);
+ list.add(ur);
+ }
+ if (list.size() > 0)
+ {
+ userRoleMapper.batchUserRole(list);
+ }
+ }
+ }
+
+ /**
* 通过用户ID删除用户
*
* @param userId 用户ID
* @return 结果
*/
@Override
+ @Transactional
public int deleteUserById(Long userId)
{
// 删除用户与角色关联
@@ -378,12 +417,18 @@
* @param userIds 需要删除的用户ID
* @return 结果
*/
+ @Override
+ @Transactional
public int deleteUserByIds(Long[] userIds)
{
for (Long userId : userIds)
{
checkUserAllowed(new SysUser(userId));
}
+ // 删除用户与角色关联
+ userRoleMapper.deleteUserRole(userIds);
+ // 删除用户与岗位关联
+ userPostMapper.deleteUserPost(userIds);
return userMapper.deleteUserByIds(userIds);
}
--
Gitblit v1.9.3