修该死的bug

This commit is contained in:
KilLze
2026-01-14 11:44:36 +08:00
parent ea5c95584d
commit 39af4e6596
2 changed files with 8 additions and 1 deletions

View File

@@ -236,7 +236,7 @@ public class ChatServiceImpl implements ChatService {
vo.setSessionName("用户" + session.getTargetUserId()); vo.setSessionName("用户" + session.getTargetUserId());
vo.setAvatarUrl(null); vo.setAvatarUrl(null);
} }
vo.setOnline(userService.isUserOnline(currentUserId)); vo.setOnline(userService.isUserOnline(vo.getTargetUserId()));
return vo; return vo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

View File

@@ -124,6 +124,9 @@ public class UserServiceImpl implements UserService {
@Override @Override
public void logout(String token) { public void logout(String token) {
Claims claims = JwtUtil.getClaimsFromToken(token); Claims claims = JwtUtil.getClaimsFromToken(token);
// 获取token信息
String subject = claims.getSubject();
// 获取token的过期时间
Date expiration = claims.getExpiration(); Date expiration = claims.getExpiration();
// 判断 token 是否已过期 // 判断 token 是否已过期
long ttl = expiration.getTime() - System.currentTimeMillis(); long ttl = expiration.getTime() - System.currentTimeMillis();
@@ -132,6 +135,10 @@ public class UserServiceImpl implements UserService {
return; return;
} }
// 从Redis中删除登录token记录
String loginTokenKey = "login:token:" + subject;
redisTemplate.delete(loginTokenKey);
String logoutKey = "jwt:blacklist:" + token; String logoutKey = "jwt:blacklist:" + token;
redisTemplate.opsForValue().set( redisTemplate.opsForValue().set(
logoutKey, logoutKey,