清除多租户功能

This commit is contained in:
2026-02-04 15:41:21 +08:00
parent a2203e4f40
commit 3f65a55c15
189 changed files with 94 additions and 8587 deletions

View File

@@ -3,7 +3,6 @@ package com.njcn.msgpush.framework.websocket.core.handler;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.TypeUtil;
import com.njcn.msgpush.framework.common.util.json.JsonUtils;
import com.njcn.msgpush.framework.tenant.core.util.TenantUtils;
import com.njcn.msgpush.framework.websocket.core.listener.WebSocketMessageListener;
import com.njcn.msgpush.framework.websocket.core.message.JsonWebSocketMessage;
import com.njcn.msgpush.framework.websocket.core.util.WebSocketFrameworkUtils;
@@ -73,8 +72,7 @@ public class JsonWebSocketMessageHandler extends TextWebSocketHandler {
// 2.3 处理消息
Type type = TypeUtil.getTypeArgument(messageListener.getClass(), 0);
Object messageObj = JsonUtils.parseObject(jsonMessage.getContent(), type);
Long tenantId = WebSocketFrameworkUtils.getTenantId(session);
TenantUtils.execute(tenantId, () -> messageListener.onMessage(session, messageObj));
messageListener.onMessage(session, messageObj);
} catch (Throwable ex) {
log.error("[handleTextMessage][session({}) message({}) 处理异常]", session.getId(), message.getPayload());
}

View File

@@ -2,7 +2,6 @@ package com.njcn.msgpush.framework.websocket.core.session;
import cn.hutool.core.collection.CollUtil;
import com.njcn.msgpush.framework.security.core.LoginUser;
import com.njcn.msgpush.framework.tenant.core.context.TenantContextHolder;
import com.njcn.msgpush.framework.websocket.core.util.WebSocketFrameworkUtils;
import org.springframework.web.socket.WebSocketSession;
@@ -95,18 +94,10 @@ public class WebSocketSessionManagerImpl implements WebSocketSessionManager {
return new ArrayList<>();
}
LinkedList<WebSocketSession> result = new LinkedList<>(); // 避免扩容
Long contextTenantId = TenantContextHolder.getTenantId();
for (List<WebSocketSession> sessions : userSessionsMap.values()) {
if (CollUtil.isEmpty(sessions)) {
continue;
}
// 特殊:如果租户不匹配,则直接排除
if (contextTenantId != null) {
Long userTenantId = WebSocketFrameworkUtils.getTenantId(sessions.get(0));
if (!contextTenantId.equals(userTenantId)) {
continue;
}
}
result.addAll(sessions);
}
return result;

View File

@@ -53,15 +53,5 @@ public class WebSocketFrameworkUtils {
return loginUser != null ? loginUser.getUserType() : null;
}
/**
* 获得当前用户的租户编号
*
* @param session Session
* @return 租户编号
*/
public static Long getTenantId(WebSocketSession session) {
LoginUser loginUser = getLoginUser(session);
return loginUser != null ? loginUser.getTenantId() : null;
}
}