splitting the services
This commit is contained in:
@@ -2,6 +2,7 @@ package com.pmu.betengine.service;
|
||||
|
||||
import com.pmu.betengine.model.Course;
|
||||
import com.pmu.betengine.model.Resultat;
|
||||
import com.pmu.betengine.model.SearchParam;
|
||||
import com.pmu.betengine.repository.ResultatRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@@ -12,7 +13,8 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.Map;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -68,6 +70,41 @@ public class ResultatService {
|
||||
return savedResultat;
|
||||
}
|
||||
|
||||
public List<Resultat> search(SearchParam searchParam) {
|
||||
System.out.println("******************** SEARCH PARAM: " + searchParam);
|
||||
|
||||
if (searchParam.getCriteria() == null) {
|
||||
throw new IllegalArgumentException("Le paramètre 'criteria' est obligatoire et ne peut pas être null");
|
||||
}
|
||||
|
||||
try {
|
||||
String criteria = searchParam.getCriteria();
|
||||
|
||||
if ("1".equals(criteria)) {
|
||||
// Retourne tous les résultats
|
||||
return resultatRepository.findAll();
|
||||
} else if ("2".equals(criteria) && searchParam.getDate() != null) {
|
||||
LocalDate date = searchParam.getDate();
|
||||
LocalDateTime startOfDay = date.atStartOfDay();
|
||||
LocalDateTime endOfDay = startOfDay.plusDays(1);
|
||||
|
||||
return resultatRepository.findByCourseDate(startOfDay, endOfDay);
|
||||
} else if ("3".equals(criteria) && searchParam.getId() != null) {
|
||||
return resultatRepository.findByCourseId(searchParam.getId())
|
||||
.map(List::of)
|
||||
.orElse(List.of());
|
||||
}
|
||||
|
||||
// Cas par défaut
|
||||
return resultatRepository.findAll();
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("Erreur lors de la recherche des résultats");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user