fix(system/user): 修复删除用户时未及时清除第三方账号信息的错误 (PR by Gitee@hagyao520)

This commit is contained in:
2025-03-20 22:31:57 +08:00
parent 594ea3208d
commit 2ec0b343e0
3 changed files with 21 additions and 2 deletions

View File

@@ -68,4 +68,11 @@ public interface UserSocialService {
* @param userId 用户 ID
*/
void deleteBySourceAndUserId(String source, Long userId);
/**
* 根据用户 ID 删除
*
* @param userIds 用户 ID 列表
*/
void deleteByUserIds(List<Long> userIds);
}

View File

@@ -110,10 +110,11 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
private final PasswordEncoder passwordEncoder;
private final UserPasswordHistoryService userPasswordHistoryService;
private final OnlineUserService onlineUserService;
private final OptionService optionService;
private final UserSocialService userSocialService;
private final UserRoleService userRoleService;
private final OptionService optionService;
private final RoleService roleService;
private final OnlineUserService onlineUserService;
private final FileService fileService;
private final FileStorageService fileStorageService;
@@ -209,6 +210,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
userRoleService.deleteByUserIds(ids);
// 删除历史密码
userPasswordHistoryService.deleteByUserIds(ids);
// 删除用户绑定的第三方账号信息
userSocialService.deleteByUserIds(ids);
// 删除用户
super.delete(ids);
// 踢出在线用户

View File

@@ -16,6 +16,7 @@
package top.continew.admin.system.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import lombok.RequiredArgsConstructor;
import me.zhyd.oauth.model.AuthUser;
@@ -90,4 +91,12 @@ public class UserSocialServiceImpl implements UserSocialService {
public void deleteBySourceAndUserId(String source, Long userId) {
baseMapper.lambdaUpdate().eq(UserSocialDO::getSource, source).eq(UserSocialDO::getUserId, userId).remove();
}
@Override
public void deleteByUserIds(List<Long> userIds) {
if (CollUtil.isEmpty(userIds)) {
return;
}
baseMapper.lambdaUpdate().in(UserSocialDO::getUserId, userIds).remove();
}
}