Skip to content

Commit d87fa23

Browse files
authored
Merge branch 'develop' into fix/chatRoom/4
2 parents fa387c6 + 112c774 commit d87fa23

File tree

6 files changed

+9
-108
lines changed

6 files changed

+9
-108
lines changed

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,18 @@ public ResponseResult saveRequestToRedis(Long requestUserId, Long emotionRecordI
104104
AlertChatRequest alertChatRequest = new AlertChatRequest(emotionRecordId, requestUser.getNickname());
105105
// Alert alert = alertService.createAlert(responseUserId, "alarm", alertChatRequest);
106106
// kafkaProducer.send(TOPIC, alert);
107-
alertService.send(responseUserId, "alarm", alertChatRequest);
107+
alertService.send(responseUserId, "alarm", alertChatRequest);
108108

109109
return new ResponseResult(ErrorCode.SUCCESS);
110+
} catch (IllegalArgumentException e) {
111+
log.info(e.getMessage());
112+
return new ResponseResult(ErrorCode.SUCCESS, "요청은 갔지만, 상대방의 SSE가 없어 알림이 전송되지 않았습니다.");
110113
} catch (EmotionRecordNotFoundException e) {
111-
return new ResponseResult(ErrorCode.FAIL_TO_FIND_EMOTION_RECORD);
114+
return new ResponseResult(ErrorCode.FAIL_TO_FIND_EMOTION_RECORD, e.getMessage());
112115
} catch (UserNotFoundException e) {
113-
return new ResponseResult(ErrorCode.FAIL_TO_FIND_USER);
116+
return new ResponseResult(ErrorCode.FAIL_TO_FIND_USER, e.getMessage());
114117
} catch (Exception e) {
115-
log.error(e.getMessage());
116-
return new ResponseResult(400, "Failed to process chat request.");
118+
return new ResponseResult(ErrorCode.CHAT_REQUEST_FAILED, e.getMessage());
117119
}
118120
}
119121

src/main/java/org/dfbf/soundlink/domain/user/controller/UserStatusController.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,18 @@
88
import org.dfbf.soundlink.domain.user.exception.NoUserDataException;
99
import org.dfbf.soundlink.domain.user.repository.UserRepository;
1010
import org.dfbf.soundlink.domain.user.service.UserStatusService;
11-
import org.dfbf.soundlink.domain.user.service.UserStatusSseService;
1211
import org.dfbf.soundlink.global.exception.ErrorCode;
1312
import org.dfbf.soundlink.global.exception.ResponseResult;
1413
import org.springframework.web.bind.annotation.*;
15-
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
1614

1715
@RestController
1816
@RequestMapping("/api/userStatus")
1917
@RequiredArgsConstructor
2018
@Tag(name = "User Status API", description = "유저 상태 관련 API")
2119
public class UserStatusController {
2220
private final UserStatusService userStatusService;
23-
private final UserStatusSseService userStatusSseService;
2421
private final UserRepository userRepository;
2522

26-
@GetMapping("/subscribe")
27-
public SseEmitter subscribe(@RequestParam String loginId) {
28-
29-
User user = userRepository.findByLoginId(loginId)
30-
.orElseThrow(NoUserDataException::new);
31-
Long userId = user.getUserId();
32-
33-
return userStatusSseService.subscribe(userId);
34-
}
35-
3623
@GetMapping("/{loginId}")
3724
public ResponseResult getUserStatus(@PathVariable String loginId) {
3825

src/main/java/org/dfbf/soundlink/domain/user/service/UserService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ public class UserService {
5151
private final MailService mailService;
5252
private final RedisService redisService;
5353
private final UserStatusService userStatusService;
54-
private final UserStatusSseService userStatusSseService;
5554

5655
private final JwtProvider jwtProvider;
5756
private final TokenProperties tokenProperties;

src/main/java/org/dfbf/soundlink/domain/user/service/UserStatusService.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
public class UserStatusService {
1414
private final RedisTemplate<String, String> redisTemplate;
1515
private final ObjectMapper objectMapper = new ObjectMapper();
16-
private final UserStatusSseService userStatusSseService;
1716

1817
// Redis Key Prefix
1918
private static final String USER_STATUS_KEY_PREFIX = "user:status:";
@@ -25,9 +24,6 @@ public void saveUserStatus(UserStatusDto status) {
2524
String json = objectMapper.writeValueAsString(status);
2625
redisTemplate.opsForValue().set(key, json);
2726

28-
// 이게 SSE로 알림 보냄
29-
userStatusSseService.sendUserStatus(status.getUserId(), status);
30-
3127
} catch (JsonProcessingException e) {
3228
log.error("유저 상태 저장 중 JsonProcessingException 오류: {}", e.getMessage());
3329
}

src/main/java/org/dfbf/soundlink/domain/user/service/UserStatusSseService.java

Lines changed: 0 additions & 84 deletions
This file was deleted.

src/main/java/org/dfbf/soundlink/global/exception/ErrorCode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ public enum ErrorCode {
7171
//채팅방 관련 에러
7272
CHAT_UNAUTHORIZED(HttpStatus.FORBIDDEN,"권한이 없습니다"),
7373
CHATROOM_NOT_FOUND(HttpStatus.NOT_FOUND,"채팅방을 찾을 수 없습니다."),
74-
CHAT_FAILED(HttpStatus.CONFLICT,"서버 내부 에러. 중복된 레코드가 존재합니다.");
74+
CHAT_FAILED(HttpStatus.CONFLICT,"서버 내부 에러. 중복된 레코드가 존재합니다."),
75+
CHAT_REQUEST_FAILED(HttpStatus.CONFLICT, "채팅 요청 실패");
7576

7677

7778
private final HttpStatus status;

0 commit comments

Comments
 (0)