From 8b7e89c67cffd87a033e1c82506fdde4fb0ae697 Mon Sep 17 00:00:00 2001 From: alterdekim Date: Wed, 27 Nov 2024 03:25:51 +0300 Subject: [PATCH] Slowly adding themes x3 (testing disasters) --- .../javabot/repository/DisasterRepository.java | 5 +++++ .../javabot/service/DisasterServiceImpl.java | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alterdekim/javabot/repository/DisasterRepository.java b/src/main/java/com/alterdekim/javabot/repository/DisasterRepository.java index ed84f69..5339b25 100644 --- a/src/main/java/com/alterdekim/javabot/repository/DisasterRepository.java +++ b/src/main/java/com/alterdekim/javabot/repository/DisasterRepository.java @@ -2,6 +2,8 @@ package com.alterdekim.javabot.repository; import com.alterdekim.javabot.entities.Disaster; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import java.util.List; import java.util.Optional; @@ -10,4 +12,7 @@ public interface DisasterRepository extends JpaRepository { Optional findById(Long id); List findAll(); + + @Query("SELECT d FROM Disaster d WHERE d.theme = :th") + List findByTheme(@Param(value = "th") Long theme); } diff --git a/src/main/java/com/alterdekim/javabot/service/DisasterServiceImpl.java b/src/main/java/com/alterdekim/javabot/service/DisasterServiceImpl.java index d695075..02bd26e 100644 --- a/src/main/java/com/alterdekim/javabot/service/DisasterServiceImpl.java +++ b/src/main/java/com/alterdekim/javabot/service/DisasterServiceImpl.java @@ -2,13 +2,19 @@ package com.alterdekim.javabot.service; import com.alterdekim.javabot.entities.Disaster; import com.alterdekim.javabot.repository.DisasterRepository; +import com.alterdekim.javabot.repository.GameThemeRepository; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; +import java.util.stream.Collectors; @Service public class DisasterServiceImpl implements DisasterService { + @Autowired + private GameThemeRepository themeRepository; private final DisasterRepository repository; public DisasterServiceImpl(DisasterRepository repository) { @@ -17,7 +23,11 @@ public class DisasterServiceImpl implements DisasterService { @Override public List getAllDisasters() { - return repository.findAll(); + return themeRepository.findAllSelected() + .stream() + .map(t -> repository.findByTheme(t.getId())) + .flatMap(Collection::stream) + .collect(Collectors.toList()); } @Override