From 69155f0115473d6c17bb7441bc1c7b06e05173ef Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期二, 27 八月 2024 10:45:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 44 insertions(+), 11 deletions(-) diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java index e928983..0326440 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java @@ -16,6 +16,7 @@ import com.project.common.utils.bean.BeanValidators; import com.project.common.utils.spring.SpringUtils; import com.project.system.domain.*; +import com.project.system.domain.bo.editBo.UserDeptBo; import com.project.system.domain.vo.SysUserResultVo; import com.project.system.domain.vo.SysUserVo; import com.project.system.mapper.*; @@ -27,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -56,6 +58,19 @@ private final ISysUserDeptService userDeptService; private final ISysDeptService deptService; protected final Validator validator; + + /** + * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃 + * + * @param user 鐢ㄦ埛淇℃伅 + * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List<SysUser> selectUserListCommon(SysUser user) + { + return userMapper.selectUserListCommon(user); + } /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃 @@ -250,6 +265,7 @@ */ @Override @Transactional + @CacheEvict(value = "sysUser:peerList",allEntries = true) public int insertUser(SysUser user) { // 鏂板鐢ㄦ埛淇℃伅 @@ -285,6 +301,7 @@ */ @Override @Transactional + @CacheEvict(value = "sysUser:peerList",allEntries = true) public int updateUser(SysUser user) { Long userId = user.getUserId(); @@ -296,9 +313,9 @@ userPostMapper.deleteUserPostByUserId(userId); // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞� insertUserPost(user); - + SysUser old = this.selectUserById(userId); // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞� - if (!"02".equals(user.getUserType())){ + if (!"02".equals(user.getUserType()) && !old.getDeptId().equals(user.getDeptId())){ insertUserDept(user); } return userMapper.updateUser(user); @@ -397,12 +414,20 @@ */ public void insertUserDept(SysUser user) { - userDeptService.remove(userDeptService.lq() - .eq(SysUserDept::getUserId, user.getUserId()) - .eq(SysUserDept::getDeptId, user.getDeptId()) - ); - SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId()); - userDeptService.save(userDept); + if (deptService.getCheckDeptIdByLoginDeptId(user.getDeptId()).equals(user.getDeptId())) { //鍒嗙灞�鍐呮墍鏈夐儴闂� + List<SysDept> list = deptService.list(deptService.lq().eq(SysDept::getParentId, user.getDeptId())); + List<Long> deptIds = list.stream().map(SysDept::getDeptId).collect(Collectors.toList()); + deptIds.add(user.getDeptId()); + UserDeptBo bo = new UserDeptBo(); + bo.setUserId(user.getUserId()); + bo.setDeptIds(deptIds); + userDeptService.batchUserDeptSave(bo); + } else { //鍒嗙鍗曠嫭閮ㄩ棬 + userDeptService.remove(userDeptService.lq().eq(SysUserDept::getUserId, user.getUserId())); + SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId()); + userDeptService.save(userDept); + } + } /** @@ -459,6 +484,7 @@ */ @Override @Transactional + @CacheEvict(value = "sysUser:peerList",allEntries = true) public int deleteUserById(Long userId) { // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� @@ -476,6 +502,7 @@ */ @Override @Transactional + @CacheEvict(value = "sysUser:peerList",allEntries = true) public int deleteUserByIds(Long[] userIds) { for (Long userId : userIds) @@ -565,14 +592,14 @@ /** * 鎵归噺鍒犻櫎鐢ㄦ埛淇℃伅 * - * @param deptId 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID + * @param phone 闇�瑕佸垹闄ょ殑鐢ㄦ埛ID * @return 缁撴灉 */ @Override @Transactional - public int deleteUserByDeptId(Long deptId) + public int deleteUserByCompanyPhone(String phone) { - List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getDeptId, deptId)); + List<SysUser> sysUsers = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phone)); Long[] ids = sysUsers.stream().map(SysUser::getUserId).toArray(Long[]::new); return this.deleteUserByIds(ids); } @@ -709,4 +736,10 @@ } return true; } + + @Override + public String getDeptNameByUserId(Long userId) + { + return deptService.selectDeptById(selectUserById(userId).getDeptId()).getDeptName(); + } } -- Gitblit v1.9.1