通话逻辑

This commit is contained in:
张良(004796)
2023-12-28 21:35:37 +08:00
parent f337f57df5
commit 49922904ec
34 changed files with 984 additions and 50 deletions

View File

@@ -2,14 +2,18 @@ package com.ruoyi.websocket.handler;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.websocket.dto.WebSocketMessageDto;
import com.ruoyi.websocket.handle.IOpenLogic;
import com.ruoyi.websocket.holder.WebSocketSessionHolder;
import com.ruoyi.websocket.util.WebSocketUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.*;
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import static com.ruoyi.websocket.constant.WebSocketConstants.LOGIN_USER_KEY;
@@ -19,16 +23,22 @@ import static com.ruoyi.websocket.constant.WebSocketConstants.LOGIN_USER_KEY;
* @author zendwang
*/
@Slf4j
@Component
public class PlusWebSocketHandler extends AbstractWebSocketHandler {
@Autowired
private IOpenLogic openLogic;
/**
* 连接成功后
*/
@Override
public void afterConnectionEstablished(WebSocketSession session) {
LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY);
WebSocketSessionHolder.addSession(loginUser.getUserId(), session);
log.info("[connect] sessionId: {},userId:{},userType:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType());
Map<String, Object> attributes = session.getAttributes();
if(attributes.get("token") != null){
WebSocketSessionHolder.addSession(attributes.get("token").toString(), session);
}
openLogic.processOn(session);
log.info("[connect] sessionId: {},userId:{}", session.getId(), session.getId());
}
/**