This commit is contained in:
2023-11-14 20:49:37 +08:00
parent d04c6d636c
commit 7e0bf06960
3 changed files with 27 additions and 13 deletions

View File

@@ -6,7 +6,6 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -16,6 +15,16 @@ public class IdRequest {
private String id;
private List<String> ids;
public IdRequest(String id) {
this.id = id;
}
public IdRequest(List<String> ids) {
this.ids = ids;
}
public IdRequest() {}
public List<String> getIds() {
if (StringUtils.isEmpty(id)) {

View File

@@ -4,6 +4,7 @@ import cn.lihongjie.coal.base.dto.CommonQuery;
import cn.lihongjie.coal.base.dto.IdRequest;
import cn.lihongjie.coal.base.service.BaseService;
import cn.lihongjie.coal.common.Constants;
import cn.lihongjie.coal.common.Ctx;
import cn.lihongjie.coal.loginUser.dto.CreateLoginUserDto;
import cn.lihongjie.coal.loginUser.dto.LoginUserDto;
import cn.lihongjie.coal.loginUser.dto.UpdateLoginUserDto;
@@ -12,6 +13,7 @@ import cn.lihongjie.coal.loginUser.mapper.LoginUserMapper;
import cn.lihongjie.coal.loginUser.repository.LoginUserRepository;
import cn.lihongjie.coal.session.SessionService;
import cn.lihongjie.coal.sysconfig.service.SysConfigService;
import cn.lihongjie.coal.user.service.UserService;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
@@ -203,7 +205,19 @@ public class LoginUserService extends BaseService<LoginUserEntity, LoginUserRepo
@Autowired SessionService sessionService;
@Autowired UserService userService;
public void logout(IdRequest request) {
sessionService.logout(request.getId());
String sessionId = request.getId();
if (sessionId != null) {
this.deleteLogin(sessionId);
try {
userService.clearUserCache(Ctx.currentUser().getId());
} catch (Exception e) {
log.warn("清除用户缓存失败", e);
}
}
}
}

View File

@@ -1,7 +1,7 @@
package cn.lihongjie.coal.session;
import cn.lihongjie.coal.base.dto.IdRequest;
import cn.lihongjie.coal.common.Constants;
import cn.lihongjie.coal.common.Ctx;
import cn.lihongjie.coal.common.RequestUtils;
import cn.lihongjie.coal.exception.BizException;
import cn.lihongjie.coal.ip.IpQueryService;
@@ -201,16 +201,7 @@ public class SessionService {
public void logout(String sessionId) {
if (sessionId != null) {
loginUserService.deleteLogin(sessionId);
try {
userService.clearUserCache(Ctx.currentUser().getId());
} catch (Exception e) {
log.warn("清除用户缓存失败", e);
}
}
loginUserService.logout(new IdRequest(sessionId));
}
public void anonymousSession() {