From cabd5452d80c2b884efad9175d6b0bdbf45cda25 Mon Sep 17 00:00:00 2001 From: vladkuzhyr Date: Tue, 14 May 2024 18:24:09 +0300 Subject: [PATCH] refactoring quiz service and quiz bot session --- .../java/org/example/QuizBotListener.java | 6 +-- .../org/example/services/QuizService.java | 42 +------------------ src/main/java/util/MongoListener.java | 25 ----------- 3 files changed, 4 insertions(+), 69 deletions(-) delete mode 100644 src/main/java/util/MongoListener.java diff --git a/src/main/java/org/example/QuizBotListener.java b/src/main/java/org/example/QuizBotListener.java index a477e9d..65999e0 100644 --- a/src/main/java/org/example/QuizBotListener.java +++ b/src/main/java/org/example/QuizBotListener.java @@ -168,9 +168,9 @@ private void sendMessage(Long userId, String s) { } private void sendTopics(Long userId, QuizBotSession quizBotSession) { - List allTopicsName = quizService.findAllTopicName(); + List allTopicsName = quizService.getTopics(); if (allTopicsName.isEmpty()) { - allTopicsName = QuizService.getTopics(); + allTopicsName = quizService.getTopics(); if (allTopicsName.isEmpty()) { sendMessage(userId, "Sorry nothing topics"); return; @@ -290,7 +290,7 @@ private InlineKeyboardMarkup buildInlineKeyboard(int keyboardLength) { private void choiceTopic(String messageText, QuizBotSession quizBotSession, Long userId) { int topicIndex = Integer.parseInt(messageText) - 1; - List allTopicName = QuizService.getTopics(); + List allTopicName = quizService.getTopics(); if (allTopicName.isEmpty()) { quizBotSession.setBotSessionMode(QuizBotSessionMode.SESSION_CREATED); diff --git a/src/main/java/org/example/services/QuizService.java b/src/main/java/org/example/services/QuizService.java index c60ef88..4dbb92d 100644 --- a/src/main/java/org/example/services/QuizService.java +++ b/src/main/java/org/example/services/QuizService.java @@ -23,12 +23,7 @@ public QuizService(QuizRepo quizRepo) { topics = quizRepo.findAllTopicName(); } - public static List getTopics() { - return topics; - } - - public List findAllTopicName() { - //todo fetch topic list on start + public List getTopics() { ObjectMapper objectMapper = new ObjectMapper(); List topic = quizRepo.findAllTopicName(); if (topic == null) { @@ -47,45 +42,10 @@ public List findAllTopicName() { public void deleteAllQuiz() { topics = new ArrayList<>(); quizRepo.deleteAll(); -// -// try { -// Files.delete(Path.of(pathTopicsName)); -// } catch (IOException e) { -// throw new RuntimeException(e); -// } - } - - @Deprecated(forRemoval = true) - public void updateTopicsFile() { -// -// long countOfQuiz = quizRepo.count(); -// if (countOfQuiz <= 0) { -// return; -// } -// List allTopicName = this.findAllTopicName(); -// -// try { -// Files.write(Paths.get(pathTopicsName), allTopicName); -// } catch (IOException e) { -// throw new RuntimeException(e); -// } - } - - public void insertNewQuiz(QuizQuestions quizQuestions) { - if (quizRepo.findByTopicName(quizQuestions.getTopicName()) != null) { - quizRepo.addByTopic(quizQuestions.getTopicName(), quizQuestions.getQuestionList()); - return; - } - topics.add(quizQuestions.getTopicName()); - quizRepo.save(quizQuestions); } public QuizQuestions findByTopicName(String topicName) { return quizRepo.findByTopicName(topicName); } - public void updateQuizByTopicName(String topicName, QuizQuestions newQuizQuestions) { -// quizRepo.deleteByTopicName(topicName); -// insertNewQuiz(newQuizQuestions); - } } diff --git a/src/main/java/util/MongoListener.java b/src/main/java/util/MongoListener.java deleted file mode 100644 index a3282d9..0000000 --- a/src/main/java/util/MongoListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package util; - -import org.example.model.QuizQuestions; -import org.example.repositories.QuizRepo; -import org.example.services.QuizService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener; -import org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent; -import org.springframework.stereotype.Component; - -@Component -public class MongoListener extends AbstractMongoEventListener { - private QuizRepo quizRepo; - - @Autowired - public MongoListener(QuizRepo quizRepo) { - this.quizRepo = quizRepo; - } - - @Override - public void onAfterSave(AfterSaveEvent event) { - System.out.println(event.getSource().getTopicName()); - QuizService.getTopics().add(event.getSource().getTopicName()); - } -}