From 1e09749bc1873e357bd56635bd0a07564b9936b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB?= Date: Fri, 30 May 2025 01:40:42 +0300 Subject: [PATCH 1/3] pivo-102-hamm1ng --- .../ttv/poltoraha/pivka/repository/QuoteRepository.java | 8 ++++++++ .../poltoraha/pivka/serviceImpl/ReaderServiceImpl.java | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ttv/poltoraha/pivka/repository/QuoteRepository.java diff --git a/src/main/java/ttv/poltoraha/pivka/repository/QuoteRepository.java b/src/main/java/ttv/poltoraha/pivka/repository/QuoteRepository.java new file mode 100644 index 0000000..8a65d21 --- /dev/null +++ b/src/main/java/ttv/poltoraha/pivka/repository/QuoteRepository.java @@ -0,0 +1,8 @@ +package ttv.poltoraha.pivka.repository; + +import org.springframework.data.repository.CrudRepository; +import ttv.poltoraha.pivka.entity.Quote; + +public interface QuoteRepository extends CrudRepository { + +} diff --git a/src/main/java/ttv/poltoraha/pivka/serviceImpl/ReaderServiceImpl.java b/src/main/java/ttv/poltoraha/pivka/serviceImpl/ReaderServiceImpl.java index 7648630..0f24e30 100644 --- a/src/main/java/ttv/poltoraha/pivka/serviceImpl/ReaderServiceImpl.java +++ b/src/main/java/ttv/poltoraha/pivka/serviceImpl/ReaderServiceImpl.java @@ -9,6 +9,7 @@ import ttv.poltoraha.pivka.entity.Reader; import ttv.poltoraha.pivka.entity.Reading; import ttv.poltoraha.pivka.repository.BookRepository; +import ttv.poltoraha.pivka.repository.QuoteRepository; import ttv.poltoraha.pivka.repository.ReaderRepository; import ttv.poltoraha.pivka.service.ReaderService; import util.MyUtility; @@ -19,6 +20,8 @@ public class ReaderServiceImpl implements ReaderService { private final ReaderRepository readerRepository; private final BookRepository bookRepository; + private final QuoteRepository quoteRepository; + @Override public void createQuote(String username, Integer book_id, String text) { val newQuote = new Quote(); @@ -33,7 +36,8 @@ public void createQuote(String username, Integer book_id, String text) { reader.getQuotes().add(newQuote); // todo потенциально лучше сейвить quoteRepository. Чем меньше вложенностей у сохраняемой сущности - тем эффективнее это будет происходить. - readerRepository.save(reader); +// readerRepository.save(reader); + quoteRepository.save(newQuote); } @Override From 2c016f1d4a7abe2eb2d7ff70658e1d7f2d22e0f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB?= Date: Fri, 30 May 2025 02:01:07 +0300 Subject: [PATCH 2/3] (PIVO-103-hamm1ng) --- .../poltoraha/pivka/serviceImpl/RecommendationServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ttv/poltoraha/pivka/serviceImpl/RecommendationServiceImpl.java b/src/main/java/ttv/poltoraha/pivka/serviceImpl/RecommendationServiceImpl.java index b94366a..693f5f9 100644 --- a/src/main/java/ttv/poltoraha/pivka/serviceImpl/RecommendationServiceImpl.java +++ b/src/main/java/ttv/poltoraha/pivka/serviceImpl/RecommendationServiceImpl.java @@ -98,7 +98,7 @@ public List recommendBook(String username) { */ @Override public List recommendQuoteByBook(Integer book_id) { - if (bookRepository.existsById(book_id)) { + if (!bookRepository.existsById(book_id)) { throw new EntityNotFoundException(String.format("Entity book with id = %s was not found", book_id)); } From 9dc1ca2b74128bfde178dc478637f4231a168e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB?= Date: Fri, 30 May 2025 16:04:05 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D1=81=D0=BB=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=20=D1=81=D1=83=D1=89=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B3?= =?UTF-8?q?=D0=BB=D0=B0=D0=B2=20=D0=B8=20=D1=81=D0=B2=D1=8F=D0=B7=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=B5=C3=90=C3=90=D1=91=20=D1=81=20=D1=81=D1=83=D1=89?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E=20=D0=BA=D0=BD=D0=B8=D0=B3?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ttv/poltoraha/pivka/entity/Chapter.java | 17 ++++++++++++++ .../pivka/repository/ChapterRepository.java | 7 ++++++ .../changelog/v1.0.4_add_chapter_tables.xml | 23 +++++++++++++++++++ src/main/resources/db/liquibase-master.xml | 1 + 4 files changed, 48 insertions(+) create mode 100644 src/main/java/ttv/poltoraha/pivka/entity/Chapter.java create mode 100644 src/main/java/ttv/poltoraha/pivka/repository/ChapterRepository.java create mode 100644 src/main/resources/db/changelog/v1.0.4_add_chapter_tables.xml diff --git a/src/main/java/ttv/poltoraha/pivka/entity/Chapter.java b/src/main/java/ttv/poltoraha/pivka/entity/Chapter.java new file mode 100644 index 0000000..f9a391c --- /dev/null +++ b/src/main/java/ttv/poltoraha/pivka/entity/Chapter.java @@ -0,0 +1,17 @@ +package ttv.poltoraha.pivka.entity; + +import jakarta.persistence.*; + +@Entity +@Table(name = "chapter") +public class Chapter { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + private String title; + private Integer pageNumber; + + @ManyToOne + @JoinColumn(name = "book_id") + private Book book; +} diff --git a/src/main/java/ttv/poltoraha/pivka/repository/ChapterRepository.java b/src/main/java/ttv/poltoraha/pivka/repository/ChapterRepository.java new file mode 100644 index 0000000..02b301e --- /dev/null +++ b/src/main/java/ttv/poltoraha/pivka/repository/ChapterRepository.java @@ -0,0 +1,7 @@ +package ttv.poltoraha.pivka.repository; + +import org.springframework.data.repository.CrudRepository; +import ttv.poltoraha.pivka.entity.Chapter; + +public interface ChapterRepository extends CrudRepository { +} diff --git a/src/main/resources/db/changelog/v1.0.4_add_chapter_tables.xml b/src/main/resources/db/changelog/v1.0.4_add_chapter_tables.xml new file mode 100644 index 0000000..bfe50f7 --- /dev/null +++ b/src/main/resources/db/changelog/v1.0.4_add_chapter_tables.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/db/liquibase-master.xml b/src/main/resources/db/liquibase-master.xml index 7c7b37c..bdf2bb1 100644 --- a/src/main/resources/db/liquibase-master.xml +++ b/src/main/resources/db/liquibase-master.xml @@ -7,6 +7,7 @@ +