From ec6e3085dd4c424d737d1d564308915356712010 Mon Sep 17 00:00:00 2001 From: ddongseop Date: Tue, 9 Jan 2024 23:24:13 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=E2=9C=A8=20[FEAT]=20=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20dto=20=EC=A0=95=EC=9D=98=20=EB=B0=8F=20=EA=B8=B0?= =?UTF-8?q?=EC=B4=88=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/response/BookDetailResponseDto.java | 30 +++++++++++++++++++ .../dto/response/NoteCreateResponseDto.java | 12 ++++++++ .../dto/response/NoteDetailResponseDto.java | 21 +++++++++++++ .../note/dto/response/NoteResponseDto.java | 12 -------- .../domain/note/facade/NoteFacade.java | 4 +-- .../domain/note/service/NoteService.java | 8 ++--- .../PostedStickerDetailResponseDto.java | 15 ++++++++++ .../global/common/model/BaseTimeEntity.java | 2 ++ 8 files changed, 86 insertions(+), 18 deletions(-) create mode 100644 src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java create mode 100644 src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteCreateResponseDto.java create mode 100644 src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java delete mode 100644 src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteResponseDto.java create mode 100644 src/main/java/org/sopt/lequuServer/domain/sticker/dto/response/PostedStickerDetailResponseDto.java diff --git a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java new file mode 100644 index 0000000..47f8542 --- /dev/null +++ b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java @@ -0,0 +1,30 @@ +package org.sopt.lequuServer.domain.book.dto.response; + +import org.sopt.lequuServer.domain.book.model.Book; +import org.sopt.lequuServer.domain.note.dto.response.NoteDetailResponseDto; +import org.sopt.lequuServer.domain.sticker.dto.response.PostedStickerDetailResponseDto; + +import java.util.List; + +public record BookDetailResponseDto( + Long bookId, + String favoriteImage, + String favoriteName, + String title, + String description, + String bookDate, + String bookNickname, + int bookBackgroundColor, + int noteNum, + List noteList, + List postedStickerList +) { + public static BookDetailResponseDto of(Book book) { + String bookDate = book.getCreatedAt(); + + return new BookDetailResponseDto(book.getId(), book.getFavoriteImage(), book.getFavoriteName(), book.getTitle(), book.getDescription(), + bookDate, book.getMember().getNickname(), book.getBackgroundColor(), book.getNotes().toArray().length, + noteList, postedStickerList + ); + } +} \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteCreateResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteCreateResponseDto.java new file mode 100644 index 0000000..e7e9f23 --- /dev/null +++ b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteCreateResponseDto.java @@ -0,0 +1,12 @@ +package org.sopt.lequuServer.domain.note.dto.response; + +import org.sopt.lequuServer.domain.note.model.Note; + +public record NoteCreateResponseDto( + Long noteId, + String bookUuid +) { + public static NoteCreateResponseDto of(Note note) { + return new NoteCreateResponseDto(note.getId(), note.getBook().getUuid()); + } +} diff --git a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java new file mode 100644 index 0000000..c354350 --- /dev/null +++ b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java @@ -0,0 +1,21 @@ +package org.sopt.lequuServer.domain.note.dto.response; + +import org.sopt.lequuServer.domain.note.model.Note; + +public record NoteDetailResponseDto( + Long noteId, + int renderType, + String content, + String noteDate, + String noteNickname, + int noteBackgroundColor, + String noteBackgroundImage +) { + public static NoteDetailResponseDto of(Note note, int renderType) { + String noteDate = note.getCreatedAt(); + int noteBackgroundColor; + String noteBackgroundImage; + return new NoteDetailResponseDto(note.getId(), renderType, note.getContent(), noteDate, + note.getMember().getNickname(), noteBackgroundColor, noteBackgroundImage) + } +} diff --git a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteResponseDto.java deleted file mode 100644 index e66ca99..0000000 --- a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteResponseDto.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.sopt.lequuServer.domain.note.dto.response; - -import org.sopt.lequuServer.domain.note.model.Note; - -public record NoteResponseDto( - Long noteId, - String bookUuid -) { - public static NoteResponseDto of(Note note) { - return new NoteResponseDto(note.getId(), note.getBook().getUuid()); - } -} diff --git a/src/main/java/org/sopt/lequuServer/domain/note/facade/NoteFacade.java b/src/main/java/org/sopt/lequuServer/domain/note/facade/NoteFacade.java index d298079..4a5ac96 100644 --- a/src/main/java/org/sopt/lequuServer/domain/note/facade/NoteFacade.java +++ b/src/main/java/org/sopt/lequuServer/domain/note/facade/NoteFacade.java @@ -6,7 +6,7 @@ import org.sopt.lequuServer.domain.member.model.Member; import org.sopt.lequuServer.domain.member.repository.MemberRepository; import org.sopt.lequuServer.domain.note.dto.request.NoteCreateDto; -import org.sopt.lequuServer.domain.note.dto.response.NoteResponseDto; +import org.sopt.lequuServer.domain.note.dto.response.NoteCreateResponseDto; import org.sopt.lequuServer.domain.note.model.Note; import org.sopt.lequuServer.domain.note.service.NoteService; import org.sopt.lequuServer.global.s3.service.S3Service; @@ -23,7 +23,7 @@ public class NoteFacade { private final NoteService noteService; private final S3Service s3Service; - public NoteResponseDto createNote(Long userId, NoteCreateDto noteCreateDto) { + public NoteCreateResponseDto createNote(Long userId, NoteCreateDto noteCreateDto) { Member member = memberRepository.findByIdOrThrow(userId); Book book = bookRepository.findByIdOrThrow(noteCreateDto.bookId()); diff --git a/src/main/java/org/sopt/lequuServer/domain/note/service/NoteService.java b/src/main/java/org/sopt/lequuServer/domain/note/service/NoteService.java index 29c0515..3e1ca24 100644 --- a/src/main/java/org/sopt/lequuServer/domain/note/service/NoteService.java +++ b/src/main/java/org/sopt/lequuServer/domain/note/service/NoteService.java @@ -3,7 +3,7 @@ import lombok.RequiredArgsConstructor; import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.domain.member.model.Member; -import org.sopt.lequuServer.domain.note.dto.response.NoteResponseDto; +import org.sopt.lequuServer.domain.note.dto.response.NoteCreateResponseDto; import org.sopt.lequuServer.domain.note.model.Note; import org.sopt.lequuServer.domain.note.repository.NoteRepository; import org.springframework.stereotype.Service; @@ -17,11 +17,11 @@ public class NoteService { private final NoteRepository noteRepository; @Transactional - public NoteResponseDto saveNote(Note note, Member member, Book book) { + public NoteCreateResponseDto saveNote(Note note, Member member, Book book) { member.addNote(note); book.addNote(note); - - return NoteResponseDto.of(noteRepository.save(note)); + + return NoteCreateResponseDto.of(noteRepository.save(note)); } } diff --git a/src/main/java/org/sopt/lequuServer/domain/sticker/dto/response/PostedStickerDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/sticker/dto/response/PostedStickerDetailResponseDto.java new file mode 100644 index 0000000..81d0434 --- /dev/null +++ b/src/main/java/org/sopt/lequuServer/domain/sticker/dto/response/PostedStickerDetailResponseDto.java @@ -0,0 +1,15 @@ +package org.sopt.lequuServer.domain.sticker.dto.response; + +import org.sopt.lequuServer.domain.sticker.model.PostedSticker; + +public record PostedStickerDetailResponseDto( + Long postedStickerId, + String stickerImage, + int positionX, + int positionY +) { + public static PostedStickerDetailResponseDto of(PostedSticker postedSticker) { + return new PostedStickerDetailResponseDto(postedSticker.getId(), postedSticker.getSticker().getStickerImage(), + postedSticker.getPositionX(), postedSticker.getPositionY()); + } +} \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/global/common/model/BaseTimeEntity.java b/src/main/java/org/sopt/lequuServer/global/common/model/BaseTimeEntity.java index c3338e1..4728ef9 100644 --- a/src/main/java/org/sopt/lequuServer/global/common/model/BaseTimeEntity.java +++ b/src/main/java/org/sopt/lequuServer/global/common/model/BaseTimeEntity.java @@ -2,6 +2,7 @@ import jakarta.persistence.EntityListeners; import jakarta.persistence.MappedSuperclass; +import lombok.Getter; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -10,6 +11,7 @@ @MappedSuperclass @EntityListeners(AuditingEntityListener.class) +@Getter public abstract class BaseTimeEntity { @CreatedDate From 9ba28f61cbae5cf6d3e8edfe2737c77e526a1546 Mon Sep 17 00:00:00 2001 From: ddongseop Date: Wed, 10 Jan 2024 01:13:58 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=E2=9C=A8=20[FEAT]=20=EB=A0=88=ED=81=90?= =?UTF-8?q?=EB=B6=81=20=EC=83=81=EC=84=B8=EC=A1=B0=ED=9A=8C=20API=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=20#38?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/BookController.java | 7 ++++ .../dto/response/BookDetailResponseDto.java | 38 ++++++++++++++++++- .../domain/book/facade/BookFacade.java | 13 +++++-- .../book/repository/BookRepository.java | 8 ++++ .../dto/response/NoteDetailResponseDto.java | 14 ++++--- .../global/config/SecurityConfig.java | 2 +- 6 files changed, 71 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/sopt/lequuServer/domain/book/controller/BookController.java b/src/main/java/org/sopt/lequuServer/domain/book/controller/BookController.java index 1798e2d..d9dc97c 100644 --- a/src/main/java/org/sopt/lequuServer/domain/book/controller/BookController.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/controller/BookController.java @@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; import org.sopt.lequuServer.domain.book.dto.request.BookCreateRequestDto; import org.sopt.lequuServer.domain.book.dto.response.BookCreateResponseDto; +import org.sopt.lequuServer.domain.book.dto.response.BookDetailResponseDto; import org.sopt.lequuServer.domain.book.facade.BookFacade; import org.sopt.lequuServer.global.auth.jwt.JwtProvider; import org.sopt.lequuServer.global.common.dto.ApiResponse; @@ -38,4 +39,10 @@ public ApiResponse deleteBook(@PathVariable Long bookId) { bookFacade.deleteBook(bookId); return ApiResponse.success(SuccessType.BOOK_DELETE_SUCCESS); } + + @GetMapping("/detail/{bookUuid}") + @ResponseStatus(HttpStatus.OK) + public ApiResponse getBookDetail(@PathVariable String bookUuid) { + return ApiResponse.success(SuccessType.PROCESS_SUCCESS, bookFacade.getBookDetail(bookUuid)); + } } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java index 47f8542..213401e 100644 --- a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java @@ -2,10 +2,17 @@ import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.domain.note.dto.response.NoteDetailResponseDto; +import org.sopt.lequuServer.domain.note.model.Note; import org.sopt.lequuServer.domain.sticker.dto.response.PostedStickerDetailResponseDto; +import org.sopt.lequuServer.domain.sticker.model.PostedSticker; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; +import static java.util.Comparator.*; + public record BookDetailResponseDto( Long bookId, String favoriteImage, @@ -20,10 +27,37 @@ public record BookDetailResponseDto( List postedStickerList ) { public static BookDetailResponseDto of(Book book) { - String bookDate = book.getCreatedAt(); + LocalDateTime createdAt = book.getCreatedAt(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + String bookDate = createdAt.format(formatter); + + // Note 리스트를 noteId 기준 내림차순으로 정렬 + List sortedNotes = book.getNotes().stream() + .sorted(comparing(Note::getId).reversed()) + .toList(); + + int renderTypeCounter = 1; + List noteList = new ArrayList<>(); + + for (Note note : sortedNotes) { + String background = note.getBackground(); + + if (background.endsWith(".jpg")) { + noteList.add(NoteDetailResponseDto.of(note, renderTypeCounter, -1, background)); + } else { + noteList.add(NoteDetailResponseDto.of(note, renderTypeCounter, Integer.parseInt(background), null)); + } + renderTypeCounter = (renderTypeCounter % 6 == 0) ? 1 : renderTypeCounter + 1; + } + + List postedStickers = book.getPostedStickers(); + List postedStickerList = new ArrayList<>(); + for (PostedSticker postedSticker : postedStickers) { + postedStickerList.add(PostedStickerDetailResponseDto.of(postedSticker)); + } return new BookDetailResponseDto(book.getId(), book.getFavoriteImage(), book.getFavoriteName(), book.getTitle(), book.getDescription(), - bookDate, book.getMember().getNickname(), book.getBackgroundColor(), book.getNotes().toArray().length, + bookDate, book.getMember().getNickname(), book.getBackgroundColor(), book.getNotes().size(), noteList, postedStickerList ); } diff --git a/src/main/java/org/sopt/lequuServer/domain/book/facade/BookFacade.java b/src/main/java/org/sopt/lequuServer/domain/book/facade/BookFacade.java index 5df4710..673f893 100644 --- a/src/main/java/org/sopt/lequuServer/domain/book/facade/BookFacade.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/facade/BookFacade.java @@ -3,6 +3,7 @@ import lombok.RequiredArgsConstructor; import org.sopt.lequuServer.domain.book.dto.request.BookCreateRequestDto; import org.sopt.lequuServer.domain.book.dto.response.BookCreateResponseDto; +import org.sopt.lequuServer.domain.book.dto.response.BookDetailResponseDto; import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.domain.book.repository.BookRepository; import org.sopt.lequuServer.domain.book.service.BookService; @@ -28,11 +29,11 @@ public class BookFacade { private final BookService bookService; private final MemberRepository memberRepository; - private final S3Service s3Service; - private final NoteRepository noteRepository; - private final PostedStickerRepository postedStickerRepository; private final BookRepository bookRepository; + private final NoteRepository noteRepository; private final StickerRepository stickerRepository; + private final PostedStickerRepository postedStickerRepository; + private final S3Service s3Service; public BookCreateResponseDto createBook(BookCreateRequestDto request, Long memberId) { @@ -89,4 +90,10 @@ public void deleteBook(Long bookId) { // 정상적인 book id가 전송되면 bookRepository.deleteById(bookId); } + + public BookDetailResponseDto getBookDetail(String bookUuid) { + Book book = bookRepository.findByUuidOrThrow(bookUuid); + + return BookDetailResponseDto.of(book); + } } diff --git a/src/main/java/org/sopt/lequuServer/domain/book/repository/BookRepository.java b/src/main/java/org/sopt/lequuServer/domain/book/repository/BookRepository.java index 01fb6fe..aabed3d 100644 --- a/src/main/java/org/sopt/lequuServer/domain/book/repository/BookRepository.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/repository/BookRepository.java @@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.Query; import java.util.List; +import java.util.Optional; public interface BookRepository extends JpaRepository { @@ -18,4 +19,11 @@ default Book findByIdOrThrow(Long id) { return this.findById(id).orElseThrow( () -> new CustomException(ErrorType.NOT_FOUND_BOOK_ERROR)); } + + Optional findByUuid(String uuid); + + default Book findByUuidOrThrow(String uuid) { + return this.findByUuid(uuid).orElseThrow( + () -> new CustomException(ErrorType.NOT_FOUND_BOOK_ERROR)); + } } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java index c354350..a7a8ed1 100644 --- a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java +++ b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java @@ -2,6 +2,9 @@ import org.sopt.lequuServer.domain.note.model.Note; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + public record NoteDetailResponseDto( Long noteId, int renderType, @@ -11,11 +14,12 @@ public record NoteDetailResponseDto( int noteBackgroundColor, String noteBackgroundImage ) { - public static NoteDetailResponseDto of(Note note, int renderType) { - String noteDate = note.getCreatedAt(); - int noteBackgroundColor; - String noteBackgroundImage; + public static NoteDetailResponseDto of(Note note, int renderType, int noteBackgroundColor, String noteBackgroundImage) { + LocalDateTime createdAt = note.getCreatedAt(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + String noteDate = createdAt.format(formatter); + return new NoteDetailResponseDto(note.getId(), renderType, note.getContent(), noteDate, - note.getMember().getNickname(), noteBackgroundColor, noteBackgroundImage) + note.getMember().getNickname(), noteBackgroundColor, noteBackgroundImage); } } diff --git a/src/main/java/org/sopt/lequuServer/global/config/SecurityConfig.java b/src/main/java/org/sopt/lequuServer/global/config/SecurityConfig.java index 4d97bf1..be9ea9f 100644 --- a/src/main/java/org/sopt/lequuServer/global/config/SecurityConfig.java +++ b/src/main/java/org/sopt/lequuServer/global/config/SecurityConfig.java @@ -24,7 +24,7 @@ public class SecurityConfig { "/api/kakao/**", "/loading", "/error", "/api/login", "/api/reissue", "/api/test/**", "/health", "/actuator/health", "/api/images/**", "/", "/swagger-ui/**", "/swagger-resources/**", "/api-docs/**", - "/api/common/**" + "/api/common/**", "/api/books/detail/**" }; @Bean From d1e06e99e6977c456347e185d6dc472f990ce4a9 Mon Sep 17 00:00:00 2001 From: ddongseop Date: Wed, 10 Jan 2024 01:22:49 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20[REFACTOR]=20dto=20?= =?UTF-8?q?=EB=B3=B5=EC=9E=A1=ED=95=9C=20=EB=A1=9C=EC=A7=81=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81=20=EC=A7=84=ED=96=89=20#38?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/response/BookDetailResponseDto.java | 23 +++++++++++-------- .../dto/response/NoteDetailResponseDto.java | 10 +++++--- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java index 213401e..39558e3 100644 --- a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java @@ -27,38 +27,43 @@ public record BookDetailResponseDto( List postedStickerList ) { public static BookDetailResponseDto of(Book book) { - LocalDateTime createdAt = book.getCreatedAt(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); - String bookDate = createdAt.format(formatter); + String bookDate = getString(book); - // Note 리스트를 noteId 기준 내림차순으로 정렬 + // 레큐노트 리스트를 noteId 기준 내림차순으로 정렬 List sortedNotes = book.getNotes().stream() .sorted(comparing(Note::getId).reversed()) .toList(); + // 레큐노트 리스트 가공 int renderTypeCounter = 1; List noteList = new ArrayList<>(); - for (Note note : sortedNotes) { String background = note.getBackground(); if (background.endsWith(".jpg")) { noteList.add(NoteDetailResponseDto.of(note, renderTypeCounter, -1, background)); } else { - noteList.add(NoteDetailResponseDto.of(note, renderTypeCounter, Integer.parseInt(background), null)); + noteList.add(NoteDetailResponseDto.of(note, renderTypeCounter, Integer.parseInt(background), "")); } renderTypeCounter = (renderTypeCounter % 6 == 0) ? 1 : renderTypeCounter + 1; } + // 부착된 스티커 리스트 가공 List postedStickers = book.getPostedStickers(); List postedStickerList = new ArrayList<>(); for (PostedSticker postedSticker : postedStickers) { postedStickerList.add(PostedStickerDetailResponseDto.of(postedSticker)); } - return new BookDetailResponseDto(book.getId(), book.getFavoriteImage(), book.getFavoriteName(), book.getTitle(), book.getDescription(), - bookDate, book.getMember().getNickname(), book.getBackgroundColor(), book.getNotes().size(), - noteList, postedStickerList + return new BookDetailResponseDto(book.getId(), book.getFavoriteImage(), book.getFavoriteName(), + book.getTitle(), book.getDescription(), bookDate, book.getMember().getNickname(), + book.getBackgroundColor(), book.getNotes().size(), noteList, postedStickerList ); } + + private static String getString(Book book) { + LocalDateTime createdAt = book.getCreatedAt(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + return createdAt.format(formatter); + } } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java index a7a8ed1..55183f2 100644 --- a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java +++ b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java @@ -15,11 +15,15 @@ public record NoteDetailResponseDto( String noteBackgroundImage ) { public static NoteDetailResponseDto of(Note note, int renderType, int noteBackgroundColor, String noteBackgroundImage) { - LocalDateTime createdAt = note.getCreatedAt(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); - String noteDate = createdAt.format(formatter); + String noteDate = getString(note); return new NoteDetailResponseDto(note.getId(), renderType, note.getContent(), noteDate, note.getMember().getNickname(), noteBackgroundColor, noteBackgroundImage); } + + private static String getString(Note note) { + LocalDateTime createdAt = note.getCreatedAt(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + return createdAt.format(formatter); + } } From e11d44d628c8bb6db47d6a628b0d1419e4a3c156 Mon Sep 17 00:00:00 2001 From: ddongseop Date: Wed, 10 Jan 2024 18:09:18 +0900 Subject: [PATCH 4/4] =?UTF-8?q?:pencil2:=20[FIX]=20=EC=BD=94=EB=93=9C?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EB=B0=98=EC=98=81=ED=95=9C=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=EB=AA=85=20=EC=88=98=EC=A0=95=20#38?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/book/dto/response/BookDetailResponseDto.java | 4 ++-- .../domain/note/dto/response/NoteDetailResponseDto.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java index 39558e3..ba89f2d 100644 --- a/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/dto/response/BookDetailResponseDto.java @@ -27,7 +27,7 @@ public record BookDetailResponseDto( List postedStickerList ) { public static BookDetailResponseDto of(Book book) { - String bookDate = getString(book); + String bookDate = formatLocalDate(book); // 레큐노트 리스트를 noteId 기준 내림차순으로 정렬 List sortedNotes = book.getNotes().stream() @@ -61,7 +61,7 @@ public static BookDetailResponseDto of(Book book) { ); } - private static String getString(Book book) { + private static String formatLocalDate(Book book) { LocalDateTime createdAt = book.getCreatedAt(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); return createdAt.format(formatter); diff --git a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java index 55183f2..22b1efd 100644 --- a/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java +++ b/src/main/java/org/sopt/lequuServer/domain/note/dto/response/NoteDetailResponseDto.java @@ -15,13 +15,13 @@ public record NoteDetailResponseDto( String noteBackgroundImage ) { public static NoteDetailResponseDto of(Note note, int renderType, int noteBackgroundColor, String noteBackgroundImage) { - String noteDate = getString(note); + String noteDate = formatLocalDate(note); return new NoteDetailResponseDto(note.getId(), renderType, note.getContent(), noteDate, note.getMember().getNickname(), noteBackgroundColor, noteBackgroundImage); } - private static String getString(Note note) { + private static String formatLocalDate(Note note) { LocalDateTime createdAt = note.getCreatedAt(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); return createdAt.format(formatter);