From c07b492b6f7c8423d5fe9197f7b3da24e78cd349 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 12 五月 2026 18:02:35 +0800
Subject: [PATCH] 增加班组长接口
---
src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java | 177 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 103 insertions(+), 74 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 0fbd6be..09d7032 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,15 +1,6 @@
package com.ruoyi.project.system.service.impl;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import javax.validation.Validator;
-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 org.springframework.util.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
@@ -17,53 +8,45 @@
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.domain.*;
+import com.ruoyi.project.system.mapper.*;
import com.ruoyi.project.system.service.ISysConfigService;
import com.ruoyi.project.system.service.ISysUserService;
+import jakarta.validation.Validator;
+import lombok.RequiredArgsConstructor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 鐢ㄦ埛 涓氬姟灞傚鐞�
- *
+ *
* @author ruoyi
*/
@Service
+@RequiredArgsConstructor
public class SysUserServiceImpl implements ISysUserService
{
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
- @Autowired
- private SysUserMapper userMapper;
-
- @Autowired
- private SysRoleMapper roleMapper;
-
- @Autowired
- private SysPostMapper postMapper;
-
- @Autowired
- private SysUserRoleMapper userRoleMapper;
-
- @Autowired
- private SysUserPostMapper userPostMapper;
-
- @Autowired
- private ISysConfigService configService;
-
- @Autowired
- protected Validator validator;
+ private final SysUserDeptMapper sysUserDeptMapper;
+ private final SysUserMapper userMapper;
+ private final SysRoleMapper roleMapper;
+ private final SysPostMapper postMapper;
+ private final SysUserRoleMapper userRoleMapper;
+ private final SysUserPostMapper userPostMapper;
+ private final ISysConfigService configService;
+ protected final Validator validator;
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
*/
@@ -76,7 +59,7 @@
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛�
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
*/
@@ -89,7 +72,7 @@
/**
* 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛�
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
*/
@@ -102,7 +85,7 @@
/**
* 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴�
- *
+ *
* @param userName 鐢ㄦ埛鍚�
* @return 鐢ㄦ埛瀵硅薄淇℃伅
*/
@@ -114,7 +97,7 @@
/**
* 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
- *
+ *
* @param userId 鐢ㄦ埛ID
* @return 鐢ㄦ埛瀵硅薄淇℃伅
*/
@@ -126,7 +109,7 @@
/**
* 鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍
- *
+ *
* @param userName 鐢ㄦ埛鍚�
* @return 缁撴灉
*/
@@ -143,7 +126,7 @@
/**
* 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍
- *
+ *
* @param userName 鐢ㄦ埛鍚�
* @return 缁撴灉
*/
@@ -160,12 +143,12 @@
/**
* 鏍¢獙鐢ㄦ埛鍚嶇О鏄惁鍞竴
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@Override
- public String checkUserNameUnique(SysUser user)
+ public boolean checkUserNameUnique(SysUser user)
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkUserNameUnique(user.getUserName());
@@ -183,7 +166,7 @@
* @return
*/
@Override
- public String checkPhoneUnique(SysUser user)
+ public boolean checkPhoneUnique(SysUser user)
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
@@ -201,7 +184,7 @@
* @return
*/
@Override
- public String checkEmailUnique(SysUser user)
+ public boolean checkEmailUnique(SysUser user)
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkEmailUnique(user.getEmail());
@@ -214,7 +197,7 @@
/**
* 鏍¢獙鐢ㄦ埛鏄惁鍏佽鎿嶄綔
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
*/
@Override
@@ -228,7 +211,7 @@
/**
* 鏍¢獙鐢ㄦ埛鏄惁鏈夋暟鎹潈闄�
- *
+ *
* @param userId 鐢ㄦ埛id
*/
@Override
@@ -248,7 +231,7 @@
/**
* 鏂板淇濆瓨鐢ㄦ埛淇℃伅
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@@ -262,12 +245,14 @@
insertUserPost(user);
// 鏂板鐢ㄦ埛涓庤鑹茬鐞�
insertUserRole(user);
+ // 鏂板閮ㄩ棬鍏宠仈
+ bindUserDept(user);
return rows;
}
/**
* 娉ㄥ唽鐢ㄦ埛淇℃伅
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@@ -279,7 +264,7 @@
/**
* 淇敼淇濆瓨鐢ㄦ埛淇℃伅
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@@ -301,7 +286,7 @@
/**
* 鐢ㄦ埛鎺堟潈瑙掕壊
- *
+ *
* @param userId 鐢ㄦ埛ID
* @param roleIds 瑙掕壊缁�
*/
@@ -315,7 +300,7 @@
/**
* 淇敼鐢ㄦ埛鐘舵��
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@@ -327,7 +312,7 @@
/**
* 淇敼鐢ㄦ埛鍩烘湰淇℃伅
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@@ -339,7 +324,7 @@
/**
* 淇敼鐢ㄦ埛澶村儚
- *
+ *
* @param userName 鐢ㄦ埛鍚�
* @param avatar 澶村儚鍦板潃
* @return 缁撴灉
@@ -352,7 +337,7 @@
/**
* 閲嶇疆鐢ㄦ埛瀵嗙爜
- *
+ *
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@@ -364,7 +349,7 @@
/**
* 閲嶇疆鐢ㄦ埛瀵嗙爜
- *
+ *
* @param userName 鐢ㄦ埛鍚�
* @param password 瀵嗙爜
* @return 缁撴灉
@@ -377,7 +362,7 @@
/**
* 鏂板鐢ㄦ埛瑙掕壊淇℃伅
- *
+ *
* @param user 鐢ㄦ埛瀵硅薄
*/
public void insertUserRole(SysUser user)
@@ -387,7 +372,7 @@
/**
* 鏂板鐢ㄦ埛宀椾綅淇℃伅
- *
+ *
* @param user 鐢ㄦ埛瀵硅薄
*/
public void insertUserPost(SysUser user)
@@ -410,7 +395,7 @@
/**
* 鏂板鐢ㄦ埛瑙掕壊淇℃伅
- *
+ *
* @param userId 鐢ㄦ埛ID
* @param roleIds 瑙掕壊缁�
*/
@@ -433,7 +418,7 @@
/**
* 閫氳繃鐢ㄦ埛ID鍒犻櫎鐢ㄦ埛
- *
+ *
* @param userId 鐢ㄦ埛ID
* @return 缁撴灉
*/
@@ -450,7 +435,7 @@
/**
* 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅
- *
+ *
* @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID
* @return 缁撴灉
*/
@@ -467,12 +452,15 @@
userRoleMapper.deleteUserRole(userIds);
// 鍒犻櫎鐢ㄦ埛涓庡矖浣嶅叧鑱�
userPostMapper.deleteUserPost(userIds);
+ // 鍒犻櫎鐢ㄦ埛涓庨儴闂ㄦ暟鎹�
+ sysUserDeptMapper.delete(new LambdaQueryWrapper<SysUserDept>()
+ .in(SysUserDept::getUserId, userIds));
return userMapper.deleteUserByIds(userIds);
}
/**
* 瀵煎叆鐢ㄦ埛鏁版嵁
- *
+ *
* @param userList 鐢ㄦ埛鏁版嵁鍒楄〃
* @param isUpdateSupport 鏄惁鏇存柊鏀寔锛屽鏋滃凡瀛樺湪锛屽垯杩涜鏇存柊鏁版嵁
* @param operName 鎿嶄綔鐢ㄦ埛
@@ -489,7 +477,6 @@
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
- String password = configService.selectConfigByKey("sys.user.initPassword");
for (SysUser user : userList)
{
try
@@ -499,19 +486,21 @@
if (StringUtils.isNull(u))
{
BeanValidators.validateWithException(validator, user);
- checkUserAllowed(user);
- checkUserDataScope(user.getUserId());
+ String password = configService.selectConfigByKey("sys.user.initPassword");
user.setPassword(SecurityUtils.encryptPassword(password));
user.setCreateBy(operName);
- this.insertUser(user);
+ userMapper.insertUser(user);
successNum++;
successMsg.append("<br/>" + successNum + "銆佽处鍙� " + user.getUserName() + " 瀵煎叆鎴愬姛");
}
else if (isUpdateSupport)
{
BeanValidators.validateWithException(validator, user);
+ checkUserAllowed(u);
+ checkUserDataScope(u.getUserId());
+ user.setUserId(u.getUserId());
user.setUpdateBy(operName);
- this.updateUser(user);
+ userMapper.updateUser(user);
successNum++;
successMsg.append("<br/>" + successNum + "銆佽处鍙� " + user.getUserName() + " 鏇存柊鎴愬姛");
}
@@ -540,4 +529,44 @@
}
return successMsg.toString();
}
+
+ /**
+ * 涓嶅垎椤电敤鎴锋煡璇�
+ * @param user
+ * @return
+ */
+ @Override
+ public List<SysUser> userListNoPage(SysUser user) {
+ return userMapper.selectUserList(user);
+ }
+
+ /**
+ * 鏌ヨ瑙掕壊涓簍eamLeader鐨勭敤鎴峰垪琛紙涓嶅垎椤碉級
+ * @return
+ */
+ @Override
+ public List<SysUser> selectTeamLeaderUserList() {
+ return userMapper.selectTeamLeaderUserList();
+ }
+
+ /**
+ * 缁戝畾鐢ㄦ埛閮ㄩ棬
+ * @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