Slowly adding themes x3 (testing disasters)

This commit is contained in:
Michael Wain 2024-11-27 03:25:51 +03:00
parent dac6c53e3f
commit 8b7e89c67c
2 changed files with 16 additions and 1 deletions

View File

@ -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<Disaster, Long> {
Optional<Disaster> findById(Long id);
List<Disaster> findAll();
@Query("SELECT d FROM Disaster d WHERE d.theme = :th")
List<Disaster> findByTheme(@Param(value = "th") Long theme);
}

View File

@ -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<Disaster> getAllDisasters() {
return repository.findAll();
return themeRepository.findAllSelected()
.stream()
.map(t -> repository.findByTheme(t.getId()))
.flatMap(Collection::stream)
.collect(Collectors.toList());
}
@Override