From 6d2cc6e87d609589a23ea8e95331bb64a1a9a88c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 21 六月 2024 14:59:50 +0800 Subject: [PATCH] update 优化 替换过期方法 --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java | 34 ++++++++++++++++++++++++++++++++-- 1 files changed, 32 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index ad73de4..d932b46 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ArrayUtil; @@ -14,6 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.UserConstants; +import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.UserService; import org.dromara.common.core.utils.MapstructUtils; @@ -29,9 +31,13 @@ import org.dromara.system.domain.SysUserPost; import org.dromara.system.domain.SysUserRole; import org.dromara.system.domain.bo.SysUserBo; -import org.dromara.system.domain.vo.*; +import org.dromara.system.domain.vo.SysPostVo; +import org.dromara.system.domain.vo.SysRoleVo; +import org.dromara.system.domain.vo.SysUserExportVo; +import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.*; import org.dromara.system.service.ISysUserService; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -92,6 +98,9 @@ ids.add(user.getDeptId()); w.in("u.dept_id", ids); }).orderByAsc("u.user_id"); + if (StringUtils.isNotBlank(user.getExcludeUserIds())) { + wrapper.notIn("u.user_id", StringUtils.splitList(user.getExcludeUserIds())); + } return wrapper; } @@ -330,6 +339,7 @@ * @return 缁撴灉 */ @Override + @CacheEvict(cacheNames = CacheNames.SYS_NICKNAME, key = "#user.userId") @Transactional(rollbackFor = Exception.class) public int updateUser(SysUserBo user) { // 鏂板鐢ㄦ埛涓庤鑹茬鐞� @@ -378,6 +388,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ + @CacheEvict(cacheNames = CacheNames.SYS_NICKNAME, key = "#user.userId") @Override public int updateUserProfile(SysUserBo user) { return baseMapper.update(null, @@ -530,7 +541,7 @@ // 鍒犻櫎鐢ㄦ埛涓庡矖浣嶈〃 userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().in(SysUserPost::getUserId, ids)); // 闃叉鏇存柊澶辫触瀵艰嚧鐨勬暟鎹垹闄� - int flag = baseMapper.deleteBatchIds(ids); + int flag = baseMapper.deleteByIds(ids); if (flag < 1) { throw new ServiceException("鍒犻櫎鐢ㄦ埛澶辫触!"); } @@ -623,4 +634,23 @@ return ObjectUtil.isNull(sysUser) ? null : sysUser.getEmail(); } + @Override + public List<UserDTO> selectListByIds(List<Long> userIds) { + if (CollUtil.isEmpty(userIds)) { + return List.of(); + } + List<SysUserVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysUser>() + .select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName) + .eq(SysUser::getStatus, UserConstants.USER_NORMAL) + .in(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds)); + return BeanUtil.copyToList(list, UserDTO.class); + } + + @Override + public List<Long> selectUserIdsByRoleIds(List<Long> roleIds) { + List<SysUserRole> userRoles = userRoleMapper.selectList( + new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roleIds)); + return StreamUtils.toList(userRoles, SysUserRole::getUserId); + } + } -- Gitblit v1.9.3