diff --git a/src/main/java/com/it/rattan/monisuo/controller/UserController.java b/src/main/java/com/it/rattan/monisuo/controller/UserController.java index 12bf856..e28e51e 100644 --- a/src/main/java/com/it/rattan/monisuo/controller/UserController.java +++ b/src/main/java/com/it/rattan/monisuo/controller/UserController.java @@ -136,6 +136,10 @@ public class UserController { */ @PostMapping("/logout") public Result logout() { + Long userId = UserContext.getUserId(); + if (userId != null) { + userService.logout(userId); + } return Result.success("退出成功", null); } } diff --git a/src/main/java/com/it/rattan/monisuo/service/UserService.java b/src/main/java/com/it/rattan/monisuo/service/UserService.java index 2cf1604..66a877f 100644 --- a/src/main/java/com/it/rattan/monisuo/service/UserService.java +++ b/src/main/java/com/it/rattan/monisuo/service/UserService.java @@ -239,6 +239,16 @@ public class UserService extends ServiceImpl { return fileName; } + /** + * 退出登录:清除token和refreshToken + */ + public void logout(Long userId) { + userMapper.update(null, new LambdaUpdateWrapper() + .eq(User::getId, userId) + .set(User::getToken, null) + .set(User::getRefreshToken, null)); + } + /** * 构建用户信息返回 */