From 8e941a8eac3329725cdd59cfa2bf3482ccbf057a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 27 五月 2026 16:45:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印
---
src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++-------
1 files changed, 71 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
index fcb1784..062c117 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
@@ -1,11 +1,18 @@
package com.ruoyi.project.system.service.impl;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.project.system.domain.*;
+import com.ruoyi.project.system.mapper.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -17,16 +24,6 @@
import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
-import com.ruoyi.project.system.domain.SysPost;
-import com.ruoyi.project.system.domain.SysRole;
-import com.ruoyi.project.system.domain.SysUser;
-import com.ruoyi.project.system.domain.SysUserPost;
-import com.ruoyi.project.system.domain.SysUserRole;
-import com.ruoyi.project.system.mapper.SysPostMapper;
-import com.ruoyi.project.system.mapper.SysRoleMapper;
-import com.ruoyi.project.system.mapper.SysUserMapper;
-import com.ruoyi.project.system.mapper.SysUserPostMapper;
-import com.ruoyi.project.system.mapper.SysUserRoleMapper;
import com.ruoyi.project.system.service.ISysConfigService;
import com.ruoyi.project.system.service.ISysDeptService;
import com.ruoyi.project.system.service.ISysUserService;
@@ -39,6 +36,9 @@
@Service
public class SysUserServiceImpl implements ISysUserService
{
+ @Autowired
+ private SysUserDeptMapper sysUserDeptMapper;
+
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@Autowired
@@ -75,7 +75,19 @@
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectUserList(SysUser user)
{
- return userMapper.selectUserList(user);
+ List<SysUser> userList = userMapper.selectUserList(user);
+ // 灏嗚鑹睮D瀛楃涓茶浆鎹负鏁扮粍
+ userList.forEach(u -> {
+ if (u.getRoleIdsStr() != null && !u.getRoleIdsStr().isEmpty()) {
+ String[] strIds = u.getRoleIdsStr().split(",");
+ Long[] roleIds = new Long[strIds.length];
+ for (int i = 0; i < strIds.length; i++) {
+ roleIds[i] = Long.parseLong(strIds[i]);
+ }
+ u.setRoleIds(roleIds);
+ }
+ });
+ return userList;
}
/**
@@ -266,6 +278,8 @@
insertUserPost(user);
// 鏂板鐢ㄦ埛涓庤鑹茬鐞�
insertUserRole(user);
+ // 鏂板閮ㄩ棬鍏宠仈
+ bindUserDept(user);
return rows;
}
@@ -454,7 +468,7 @@
/**
* 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅
- *
+ *
* @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID
* @return 缁撴灉
*/
@@ -471,6 +485,9 @@
userRoleMapper.deleteUserRole(userIds);
// 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱�
userPostMapper.deleteUserPost(userIds);
+ // 鍒犻櫎鐢ㄦ埛涓庨儴闂ㄦ暟鎹�
+ sysUserDeptMapper.delete(new LambdaQueryWrapper<SysUserDept>()
+ .in(SysUserDept::getUserId, userIds));
return userMapper.deleteUserByIds(userIds);
}
@@ -502,7 +519,6 @@
if (StringUtils.isNull(u))
{
BeanValidators.validateWithException(validator, user);
- deptService.checkDeptDataScope(user.getDeptId());
String password = configService.selectConfigByKey("sys.user.initPassword");
user.setPassword(SecurityUtils.encryptPassword(password));
user.setCreateBy(operName);
@@ -515,7 +531,6 @@
BeanValidators.validateWithException(validator, user);
checkUserAllowed(u);
checkUserDataScope(u.getUserId());
- deptService.checkDeptDataScope(user.getDeptId());
user.setUserId(u.getUserId());
user.setUpdateBy(operName);
userMapper.updateUser(user);
@@ -547,4 +562,46 @@
}
return successMsg.toString();
}
+
+ /**
+ * 涓嶅垎椤电敤鎴锋煡璇�
+ * @param user
+ * @return
+ */
+ @Override
+ public List<SysUser> userListNoPage(SysUser user) {
+ List<SysUser> userList = userMapper.selectUserList(user);
+ userList.forEach(u -> {
+ if (u.getRoleIdsStr() != null && !u.getRoleIdsStr().isEmpty()) {
+ String[] strIds = u.getRoleIdsStr().split(",");
+ Long[] roleIds = new Long[strIds.length];
+ for (int i = 0; i < strIds.length; i++) {
+ roleIds[i] = Long.parseLong(strIds[i]);
+ }
+ u.setRoleIds(roleIds);
+ }
+ });
+ return userList;
+ }
+
+ /**
+ * 缁戝畾鐢ㄦ埛閮ㄩ棬
+ * @param user
+ * @return
+ */
+ @Override
+ public int bindUserDept(SysUser user) {
+ // 鍒犻櫎鎵�鏈夊叧鑱旂粦瀹�
+ LambdaQueryWrapper<SysUserDept> delWrapper = new LambdaQueryWrapper<>();
+ delWrapper.eq(SysUserDept::getUserId, user.getUserId());
+ sysUserDeptMapper.delete(delWrapper);
+ // 閲嶆柊缁戝畾
+ for (int i = 0; i < user.getDeptIds().length; i++) {
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setDeptId(user.getDeptIds()[i]);
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDeptMapper.insert(sysUserDept);
+ }
+ return user.getDeptIds().length;
+ }
}
--
Gitblit v1.9.3