Skip to content

Commit

Permalink
Merge pull request #290 from Open-Eye-Im-Developer/develop
Browse files Browse the repository at this point in the history
[MERGE] develop을 main에 반영
  • Loading branch information
JIN-076 committed Mar 20, 2024
2 parents fb0cae8 + 13b7cbb commit fe43811
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
import io.oeid.mogakgo.domain.achievement.domain.entity.AchievementMessage;
import io.oeid.mogakgo.domain.achievement.exception.AchievementException;
import io.oeid.mogakgo.domain.achievement.infrastructure.session.AchievementSessionRepository;
import io.oeid.mogakgo.domain.user.application.UserCommonService;
import io.oeid.mogakgo.domain.user.domain.User;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
Expand All @@ -20,6 +22,7 @@
public class AchievementSocketService {

private final ObjectMapper objectMapper;
private final UserCommonService userCommonService;
private final AchievementSessionRepository achievementSessionRepository;

public void addSession(Long userId, WebSocketSession session) {
Expand Down Expand Up @@ -48,4 +51,8 @@ public void sendMessageAboutAchievmentCompletion(Long userId, AchievementMessage
}
}
}

public User validateUser(Long userId) {
return userCommonService.getUserById(userId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@

import static io.oeid.mogakgo.exception.code.ErrorCode500.ACHIEVEMENT_WEB_SOCKET_ERROR;

import com.fasterxml.jackson.databind.ObjectMapper;
import io.oeid.mogakgo.domain.achievement.application.AchievementSocketService;
import io.oeid.mogakgo.domain.achievement.exception.AchievementException;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;
Expand All @@ -18,19 +19,21 @@
@RequiredArgsConstructor
public class AchievementSocketHandler extends TextWebSocketHandler {

private final ObjectMapper objectMapper;
private final AchievementSocketService achievementSocketService;

@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
Map<String, Object> attributes = session.getAttributes();
Long userId = (Long) attributes.get("userId");
achievementSocketService.addSession(userId, session);
log.info("afterConnectionEstablished: {}", session.getId());
}

@Override
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) {
throw new UnsupportedOperationException();
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
TextMessage textMessage = (TextMessage) message;
String payload = textMessage.getPayload();
Long userId = objectMapper.readValue(payload, Long.class);
achievementSocketService.validateUser(userId);
achievementSocketService.addSession(userId, session);
}

@Override
Expand Down

0 comments on commit fe43811

Please sign in to comment.