Checkpoint & Refactoring

This commit is contained in:
DahoudG
2024-09-24 00:31:52 +00:00
parent d848f4596c
commit f84b49f9d7
6 changed files with 343 additions and 35 deletions

View File

@@ -45,8 +45,9 @@ public class EventService {
event.setImageUrl(eventCreateRequestDTO.getImageUrl());
event.setCreator(creator);
event.setStatus("en cours");
eventsRepository.persist(event);
System.out.println("[LOG] Événement créé : " + event.getTitle());
logger.info("[LOG] Événement créé avec succès : {}", event.getTitle());
return event;
}
@@ -60,10 +61,10 @@ public class EventService {
public Events getEventById(UUID id) {
Events event = eventsRepository.findById(id);
if (event == null) {
System.out.println("[ERROR] Événement non trouvé avec l'ID : " + id);
logger.error("[ERROR] Événement non trouvé avec l'ID : {}", id);
throw new EventNotFoundException(id);
}
System.out.println("[LOG] Événement trouvé avec l'ID : " + id);
logger.info("[LOG] Événement trouvé avec l'ID : {}", id);
return event;
}
@@ -75,7 +76,7 @@ public class EventService {
*/
public List<Events> getEventsAfterDate(LocalDateTime startDate) {
List<Events> events = eventsRepository.findEventsAfterDate(startDate);
System.out.println("[LOG] Nombre d'événements trouvés après la date " + startDate + " : " + events.size());
logger.info("[LOG] Nombre d'événements trouvés après la date {} : {}", startDate, events.size());
return events;
}
@@ -128,4 +129,55 @@ public class EventService {
logger.info("[LOG] Événement mis à jour avec succès : {}", existingEvent.getTitle());
return existingEvent;
}
/**
* Récupère les événements par catégorie.
*
* @param category La catégorie des événements.
* @return La liste des événements dans cette catégorie.
*/
public List<Events> findEventsByCategory(String category) {
return eventsRepository.find("category", category).list();
}
/**
* Recherche des événements par mot-clé.
*
* @param keyword Le mot-clé à rechercher.
* @return La liste des événements correspondant au mot-clé.
*/
public List<Events> searchEvents(String keyword) {
return eventsRepository.find("title like ?1 or description like ?1", "%" + keyword + "%").list();
}
/**
* Récupère les événements d'un utilisateur.
*
* @param user L'utilisateur pour lequel récupérer les événements.
* @return La liste des événements auxquels l'utilisateur participe.
*/
public List<Events> findEventsByUser(Users user) {
return eventsRepository.find("participants", user).list();
}
/**
* Récupère les événements par statut.
*
* @param status Le statut des événements (en cours, fermé, etc.).
* @return La liste des événements ayant ce statut.
*/
public List<Events> findEventsByStatus(String status) {
return eventsRepository.find("status", status).list();
}
/**
* Récupère les événements entre deux dates.
*
* @param startDate La date de début.
* @param endDate La date de fin.
* @return La liste des événements entre ces deux dates.
*/
public List<Events> findEventsBetweenDates(LocalDateTime startDate, LocalDateTime endDate) {
return eventsRepository.findEventsBetweenDates(startDate, endDate);
}
}