Skip to content

Commit 43849f1

Browse files
committed
fix: 엔티티 저장 순서 변경 및 수정(음악 저장이 먼저 되어야 함) #3
1 parent 6ead2b3 commit 43849f1

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/main/java/org/dfbf/soundlink/domain/emotionRecord/service/EmotionRecordService.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,23 +41,24 @@ public ResponseResult saveEmotionRecordWithMusic(Long userId, EmotionRecordReque
4141
.orElseThrow(UserNotFoundException::new);
4242

4343
try {
44-
// 감정 기록 저장
45-
EmotionRecord emotionRecord = EmotionRecord.builder()
46-
.user(loggedInUser)
47-
.emotion(request.emotion())
48-
.comment(request.comment())
49-
.build();
50-
emotionRecordRepository.save(emotionRecord);
51-
5244
// 음악 저장
5345
SpotifyMusic spotifyMusic = SpotifyMusic.builder()
54-
.spotifyId(request.spotifyId())
46+
.spotifyId(Long.valueOf(request.spotifyId()))
5547
.title(request.title())
5648
.artist(request.artist())
5749
.albumImage(request.albumImage())
5850
.build();
5951
spotifyMusicRepository.save(spotifyMusic);
6052

53+
// 감정 기록 저장
54+
EmotionRecord emotionRecord = EmotionRecord.builder()
55+
.user(loggedInUser)
56+
.emotion(request.emotion())
57+
.comment(request.comment())
58+
.spotifyMusic(spotifyMusic)
59+
.build();
60+
emotionRecordRepository.save(emotionRecord);
61+
6162
return new ResponseResult(ErrorCode.SUCCESS);
6263
} catch (UserNotFoundException e) {
6364
return new ResponseResult(ErrorCode.FAIL_TO_FIND_USER, e.getMessage());
@@ -133,10 +134,10 @@ public ResponseResult updateEmotionRecord(Long recordId, EmotionRecordUpdateRequ
133134
// SpotifyMusic이 DB에 있는지 먼저 확인
134135
// SpotifyMusic 엔티티가 저장되지 않은 상태에서 EmotionRecord 저장 시 영속성 컨텍스트 미저장 오류 발생
135136
// EmotionRecord를 업데이트하기 전에 SpotifyMusic이 없다면 생성 후 먼저 저장해줘야 함
136-
SpotifyMusic spotifyMusic = spotifyMusicRepository.findById(updateDTO.spotifyId())
137+
SpotifyMusic spotifyMusic = spotifyMusicRepository.findById(Long.valueOf(updateDTO.spotifyId()))
137138
.orElseGet(() -> {
138139
SpotifyMusic newMusic = new SpotifyMusic(
139-
updateDTO.spotifyId(),
140+
Long.valueOf(updateDTO.spotifyId()),
140141
updateDTO.title(),
141142
updateDTO.artist(),
142143
updateDTO.albumImage()

0 commit comments

Comments
 (0)