Modificaciones ReservaRepository, ServicioCarPooling, SolicitudRepository,…

Modificaciones ReservaRepository, ServicioCarPooling, SolicitudRepository, Usuario y ViajeRepository, cambios realizados con Álvaro Herrera
parent 21c00b25
......@@ -360,5 +360,35 @@ public class Usuario {
}
public ArrayList<Integer> getViajesOfertados() {
return viajesOfertados;
}
public List<Solicitud> getSolicitudesPendientes() {
return solicitudesPendientes;
}
public List<Solicitud> getHistoricoSolicitudes() {
return historicoSolicitudes;
}
public SistemaCarPooling getSistemaCarPooling() {
return sistemaCarPooling;
}
public void setPuntuacion(ArrayList<Double> puntuacion) {
this.puntuacion = puntuacion;
}
public void setViajesOfertados(ArrayList<Integer> viajesOfertados) {
this.viajesOfertados = viajesOfertados;
}
public void setSolicitudesPendientes(List<Solicitud> solicitudesPendientes) {
this.solicitudesPendientes = solicitudesPendientes;
}
public void setHistoricoSolicitudes(List<Solicitud> historicoSolicitudes) {
this.historicoSolicitudes = historicoSolicitudes;
}
}
......@@ -45,4 +45,12 @@ public class ReservaRepository {
{
em.merge(reserva);
}
@CacheEvict(value = "reservas", key = "#reserva.idReserva")
public void eliminarReserva(int id) {
Reserva reserva = em.find(Reserva.class, id);
if (reserva != null) {
em.remove(reserva);
}
}
}
package com.carpooling.carpoolingaoraha.repositorios;
import com.carpooling.carpoolingaoraha.entidades.Solicitud;
import com.carpooling.carpoolingaoraha.entidades.Usuario;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.cache.annotation.CacheEvict;
......@@ -32,4 +33,12 @@ public class SolicitudRepository{
public void actualizar(Solicitud u){
em.merge(u);
}
@CacheEvict(value = "solicitudes", key = "#solicitud.id")
public void cancelarSolicitud(Long id) {
Solicitud sol = em.find(Solicitud.class, id);
if (sol != null) {
em.remove(sol);
}
}
}
\ No newline at end of file
......@@ -41,5 +41,12 @@ public class ViajeRepository{
return em.createQuery("SELECT v FROM Viaje v", Viaje.class).getResultList();
}
@CacheEvict(value = "viajes", key = "#id")
public void eliminarViajePorID(int id) {
Viaje viaje = em.find(Viaje.class, id);
if (viaje != null) {
em.remove(viaje);
}
}
}
......@@ -11,9 +11,7 @@ import com.carpooling.carpoolingaoraha.repositorios.UsuarioRepository;
import com.carpooling.carpoolingaoraha.repositorios.ViajeRepository;
import jakarta.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
......@@ -136,6 +134,12 @@ public class ServicioCarPooling {
return usuarioLogin;
}
@Transactional
public Optional<Viaje> verViaje(@NotBlank int id) {
Optional<Viaje> viaje = repositorioViajes.buscar(id);
return viaje;
}
@CacheEvict(value="usuarios", key = "#dni")
public Reserva crearReserva(@NotBlank String dni) {
Usuario usuario = repositorioUsuario.buscar(dni).orElseThrow(UsuarioNoRegistrado::new);
......@@ -175,7 +179,6 @@ public class ServicioCarPooling {
public boolean unirseAReserva(String dniUsuario, int idReserva) {
Usuario usuario = repositorioUsuario.buscar(dniUsuario).orElseThrow(UsuarioNoRegistrado::new);
Reserva reserva = repositorioReservas.buscar(idReserva).orElseThrow(ReservaNoRegistrada::new);
if (usuario.getRol() == Usuario.Rol.PASAJERO || usuario.getRol() == Usuario.Rol.AMBOS) {
......@@ -193,6 +196,23 @@ public class ServicioCarPooling {
}
@Transactional
public void eliminarViaje(int id) {
repositorioViajes.eliminarViajePorID(id);
}
@Transactional
public boolean eliminarReserva(int id) {
repositorioReservas.eliminarReserva(id);
return true;
}
@Transactional
public boolean cancelarSolicitud(Long id) {
repositorioSolicitud.cancelarSolicitud(id);
return true;
}
@Transactional
public List<Viaje> listarViajes() {
List<Viaje> viajes = repositorioViajes.obtenerTodosLosViajes();
if (viajes == null)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment