|
|
@@ -32,6 +32,7 @@ import org.dromara.common.core.service.UserService;
|
|
|
import org.dromara.common.core.utils.*;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
+import org.dromara.common.redis.utils.CacheUtils;
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
import org.dromara.system.domain.SysUser;
|
|
|
import org.dromara.system.domain.SysUserPost;
|
|
|
@@ -581,6 +582,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public int deleteUserById(Long userId) {
|
|
|
+
|
|
|
+ CacheUtils.evict(CacheNames.SYS_NICKNAME, userId);
|
|
|
+ CacheUtils.evict(CacheNames.SYS_USER_NAME, userId);
|
|
|
+
|
|
|
// 删除用户与角色关联
|
|
|
userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
|
|
|
// 删除用户与岗位表
|
|
|
@@ -609,6 +614,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|
|
for (Long userId : userIds) {
|
|
|
checkUserAllowed(userId);
|
|
|
checkUserDataScope(userId);
|
|
|
+
|
|
|
+ CacheUtils.evict(CacheNames.SYS_NICKNAME, userId);
|
|
|
+ CacheUtils.evict(CacheNames.SYS_USER_NAME, userId);
|
|
|
+
|
|
|
}
|
|
|
List<Long> ids = List.of(userIds);
|
|
|
// 删除用户与角色关联
|
|
|
@@ -616,9 +625,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|
|
// 删除用户与岗位表
|
|
|
userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().in(SysUserPost::getUserId, ids));
|
|
|
// 删除用户与项目关联
|
|
|
- userProjectsMapper.delete(new LambdaQueryWrapper<>(SysUserProjects.class).in(SysUserProjects::getUserId, ids));
|
|
|
+ userProjectsMapper.delete(new LambdaQueryWrapper<SysUserProjects>().in(SysUserProjects::getUserId, ids));
|
|
|
// 删除用户与文件夹关联
|
|
|
- userFoldersMapper.delete(new LambdaQueryWrapper<>(SysUserFolders.class).in(SysUserFolders::getUserId, ids));
|
|
|
+ userFoldersMapper.delete(new LambdaQueryWrapper<SysUserFolders>().in(SysUserFolders::getUserId, ids));
|
|
|
+
|
|
|
// 防止更新失败导致的数据删除
|
|
|
int flag = baseMapper.deleteByIds(ids);
|
|
|
if (flag < 1) {
|
|
|
@@ -682,6 +692,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|
|
|
|
|
@Override
|
|
|
public boolean updateNickname(String nickname) {
|
|
|
+
|
|
|
+ CacheUtils.evict(CacheNames.SYS_NICKNAME, LoginHelper.getUserId());
|
|
|
+
|
|
|
return baseMapper.update(
|
|
|
Wrappers.lambdaUpdate(SysUser.class)
|
|
|
.eq(SysUser::getUserId, LoginHelper.getUserId())
|
|
|
@@ -714,6 +727,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|
|
|
|
|
@Override
|
|
|
public boolean updateOnProject(Long id, String nickname, String phoneNumber, String email, String password) {
|
|
|
+
|
|
|
+ CacheUtils.evict(CacheNames.SYS_NICKNAME, id);
|
|
|
+ CacheUtils.evict(CacheNames.SYS_USER_NAME, id);
|
|
|
+
|
|
|
return baseMapper.update(
|
|
|
Wrappers.lambdaUpdate(SysUser.class)
|
|
|
.eq(SysUser::getUserId, id)
|