Skip to content

Commit 3746f95

Browse files
committed
refactor: 쪽지 상세조회시 읽음처리 기능 추가
- Note 엔티티에 isRead 업데이트 기능 구현 - 기존 쪽지 상세조회 로직에 isRead 업데이트 기능 추가
1 parent b23e334 commit 3746f95

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

src/main/java/com/somemore/note/domain/Note.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,8 @@ public static Note create(UUID senderId, UUID receiverId, String title, String c
5353
.build();
5454
}
5555

56+
public void markAsRead() {
57+
this.isRead = true;
58+
}
59+
5660
}

src/main/java/com/somemore/note/repository/NoteRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
public interface NoteRepository {
1515
Note save(Note note);
16+
Optional<Note> findById(Long noteId);
1617
Page<NoteReceiverViewForCenter> findNotesByReceiverIsCenter(UUID centerId, Pageable pageable);
1718
Page<NoteReceiverViewForVolunteer> findNotesByReceiverIsVolunteer(UUID volunteerId, Pageable pageable);
1819
Optional<NoteDetailViewForCenter> findNoteDetailViewReceiverIsCenter(Long noteId);

src/main/java/com/somemore/note/repository/NoteRepositoryImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ public Note save(Note note) {
4242
return noteJpaRepository.save(note);
4343
}
4444

45+
@Override
46+
public Optional<Note> findById(Long noteId) {
47+
return noteJpaRepository.findById(noteId);
48+
}
49+
4550
@Override
4651
public Page<NoteReceiverViewForCenter> findNotesByReceiverIsCenter(UUID centerId, Pageable pageable) {
4752

src/main/java/com/somemore/note/service/NoteQueryService.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.somemore.note.service;
22

33
import com.somemore.global.exception.NoSuchElementException;
4+
import com.somemore.note.domain.Note;
45
import com.somemore.note.repository.NoteRepository;
56
import com.somemore.note.repository.mapper.NoteDetailViewForCenter;
67
import com.somemore.note.repository.mapper.NoteDetailViewForVolunteer;
@@ -36,14 +37,27 @@ public Page<NoteReceiverViewForVolunteer> getNotesForVolunteer(UUID volunteerId,
3637

3738
@Override
3839
public NoteDetailViewForCenter getNoteDetailForCenter(Long noteId) {
40+
Note note = getNote(noteId);
41+
42+
note.markAsRead();
43+
3944
return noteRepository.findNoteDetailViewReceiverIsCenter(noteId)
4045
.orElseThrow(() -> new NoSuchElementException(NOT_EXISTS_NOTE));
4146
}
4247

4348
@Override
4449
public NoteDetailViewForVolunteer getNoteDetailForVolunteer(Long noteId) {
50+
Note note = getNote(noteId);
51+
52+
note.markAsRead();
53+
4554
return noteRepository.findNoteDetailViewReceiverIsVolunteer(noteId)
4655
.orElseThrow(() -> new NoSuchElementException(NOT_EXISTS_NOTE));
4756
}
4857

58+
private Note getNote(Long noteId) {
59+
return noteRepository.findById(noteId)
60+
.orElseThrow(() -> new NoSuchElementException(NOT_EXISTS_NOTE));
61+
}
62+
4963
}

0 commit comments

Comments
 (0)