Skip to content

Commit e927823

Browse files
committed
fix: 채팅 요청 수정
- 상대가 오프라인 시, 요청 자체를 못가게 막음
1 parent 7f4a405 commit e927823

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

default/src/main/java/org/dfbf/soundlink/domain/alert/service/AlertService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,9 @@ public void disconnectAlarm(Long userId) {
114114
alertRepository.delete(userId, emitterId);
115115
sseEmitter.complete();
116116
}
117+
118+
// 사용자가 온라인인지 오프라인인지 확인 (Use UserId)
119+
public boolean isOnline(Long userId) {
120+
return alertRepository.getEmitterId(userId).isPresent();
121+
}
117122
}

default/src/main/java/org/dfbf/soundlink/domain/chat/service/ChatRoomService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ public ResponseResult saveRequestToRedis(Long requestUserId, Long emotionRecordI
6464
.getUser()
6565
.getUserId();
6666

67+
// 사용자가 오프라인이면 202 보내고 종료
68+
if (!alertService.isOnline(responseUserId)) {
69+
return new ResponseResult(ErrorCode.CHAT_REQUEST_SSE_FAILED, "Request is not sent.");
70+
}
71+
6772
// 요청자와 응답자가 같은 경우
6873
if (requestUserId.equals(responseUserId)) {
6974
return new ResponseResult(400, "You can't chat with yourself.");

0 commit comments

Comments
 (0)