|
@@ -41,15 +41,17 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
public void afterConnectionEstablished(WebSocketSession session) {
|
|
|
//用户登录连接后,将用户id放入到在线用户列表中
|
|
|
Long userId = getCurrentUser(session);
|
|
|
- users.put(userId, session);
|
|
|
- //获取用户实时消息
|
|
|
- List<TimeMessage> TimeMessageList = timeMessageService.list(new QueryWrapper<TimeMessage>()
|
|
|
- .eq("view_flag", WebSocketConstants.IS_NOT_VIEW)
|
|
|
- .eq("user_id", userId)
|
|
|
- .eq("device_model", ApiConstants.DeviceModel.PC)
|
|
|
- );
|
|
|
- //将消息推送给用户
|
|
|
- pushMessageToUser(userId, TimeMessageList);
|
|
|
+ if (userId == null) {
|
|
|
+ users.put(userId, session);
|
|
|
+ //获取用户实时消息
|
|
|
+ List<TimeMessage> TimeMessageList = timeMessageService.list(new QueryWrapper<TimeMessage>()
|
|
|
+ .eq("view_flag", WebSocketConstants.IS_NOT_VIEW)
|
|
|
+ .eq("user_id", userId)
|
|
|
+ .eq("device_model", ApiConstants.DeviceModel.PC)
|
|
|
+ );
|
|
|
+ //将消息推送给用户
|
|
|
+ pushMessageToUser(userId, TimeMessageList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//接收socket信息
|
|
@@ -170,9 +172,9 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
private Long getCurrentUser(WebSocketSession session) {
|
|
|
String authToken = (String) session.getAttributes().get(ApiConstants.AUTHORIZATION_TOKEN);
|
|
|
Object mobileUserInfo = redisTemplate.opsForValue().get(authToken);
|
|
|
- if(mobileUserInfo != null) {
|
|
|
+ if (mobileUserInfo != null) {
|
|
|
Object userInfo = redisTemplate.opsForValue().get(mobileUserInfo);
|
|
|
- if(userInfo != null) {
|
|
|
+ if (userInfo != null) {
|
|
|
Map<String, Object> currentUserInfoMap = JSONUtil.parseObj(userInfo);
|
|
|
return (Long) currentUserInfoMap.get(ApiConstants.CURRENT_USER_ID);
|
|
|
}
|