Class QuedadaServiceImpl

java.lang.Object
com.stem.grupoSenda.service.impl.QuedadaServiceImpl
All Implemented Interfaces:
QuedadaService

@Service public class QuedadaServiceImpl extends Object implements QuedadaService
Implementación del servicio de quedadas. Aquí se maneja toda la lógica del negocio relacionada con las quedadas, como crearlas vinculándolas a una ruta o modificar sus datos de forma parcial. * @author Alex Fernandez Orta
Version:
1.0
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    actualizarQuedada(Long id, Quedada nuevaQuedada)
    Actualiza una quedada modificando solamente los campos que se hayan enviado con datos.
    agregarUsuario(Long id, Long idUsuario)
    Metodo para agregar un usuario a una quedada 1.Compruebo que la quedada y el usuario existen 2.Compruebo que el numero maximo de asistentes sea mayor al numero total de usuarios 3.Compruebo que el usuario no este ya en la quedada comparandolo por su id 4.Compruebo que el usuario no este ya incrito en una quedada ese mismo dia 5.Si no existe el usuario lo añado a la quedada
    asignarRuta(Long idQuedada, Long idRuta)
    Asignar una ruta a una quedada Compruebo que ambos campos existen Si no hay una ruta ya en el campo de quedada se la añado
    void
    Metodo para borrar una quedada con un id en especifico. 1.Compruebo que la quedada existe 2.Obtengo los usuarios de esa quedada 3.Itero sobre esos usuarios y saco sus quedadas 4.Itero sobre las quedadas de ese usuario y si el id de esa quedada es igual que es id de la quedada a borrar le elimino esa quedada, guardo la informacion del usuario 5.Cuando se hayan eliminado todos los usuarios elimino la quedada por su id
    crearQuedada(Quedada quedada, Long idRuta)
    Crea una nueva quedada en el sistema y la asigna a una ruta existente.
    void
    eliminarUsuarioDeQuedada(Long idQuedada, Long idUsuario)
     
    Busca y devuelve una lista con todas las quedadas que hay guardadas. * @return Una lista que contiene todas las quedadas encontradas.
    Busca una quedada concreta utilizando su número de id. * @param id El número identificador de la quedada que queremos encontrar.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • QuedadaServiceImpl

      public QuedadaServiceImpl()
  • Method Details

    • listarQuedadas

      public List<Quedada> listarQuedadas()
      Busca y devuelve una lista con todas las quedadas que hay guardadas. * @return Una lista que contiene todas las quedadas encontradas.
      Specified by:
      listarQuedadas in interface QuedadaService
    • obtenerQuedadaPorId

      public Optional<Quedada> obtenerQuedadaPorId(Long id)
      Busca una quedada concreta utilizando su número de id. * @param id El número identificador de la quedada que queremos encontrar.
      Specified by:
      obtenerQuedadaPorId in interface QuedadaService
      Returns:
      Un Optional que contiene la quedada si existe, o vacío si no se encuentra.
    • crearQuedada

      public Quedada crearQuedada(Quedada quedada, Long idRuta)
      Crea una nueva quedada en el sistema y la asigna a una ruta existente. El método comprueba primero si la ruta existe usando su id. Si la encuentra, conecta la quedada con esa ruta y la guarda en la base de datos. * @param quedada Los datos de la quedada que se quiere dar de alta.
      Specified by:
      crearQuedada in interface QuedadaService
      Parameters:
      idRuta - El número de id de la ruta que le queremos asignar.
      Returns:
      La quedada guardada con la ruta vinculada, o null si la ruta no existía.
    • actualizarQuedada

      public Quedada actualizarQuedada(Long id, Quedada nuevaQuedada)
      Actualiza una quedada modificando solamente los campos que se hayan enviado con datos. Permite cambiar la fecha, el punto de encuentro o el límite de asistentes de forma independiente sin necesidad de volver a mandar toda la información de la quedada. * @param id El número identificador de la quedada que queremos modificar.
      Specified by:
      actualizarQuedada in interface QuedadaService
      Parameters:
      nuevaQuedada - Objeto que trae los nuevos cambios que se van a aplicar.
      Returns:
      La quedada ya actualizada y guardada con los nuevos cambios.
    • borrarQuedada

      public void borrarQuedada(Long id)
      Metodo para borrar una quedada con un id en especifico. 1.Compruebo que la quedada existe 2.Obtengo los usuarios de esa quedada 3.Itero sobre esos usuarios y saco sus quedadas 4.Itero sobre las quedadas de ese usuario y si el id de esa quedada es igual que es id de la quedada a borrar le elimino esa quedada, guardo la informacion del usuario 5.Cuando se hayan eliminado todos los usuarios elimino la quedada por su id
      Specified by:
      borrarQuedada in interface QuedadaService
    • agregarUsuario

      public Optional<Quedada> agregarUsuario(Long id, Long idUsuario)
      Metodo para agregar un usuario a una quedada 1.Compruebo que la quedada y el usuario existen 2.Compruebo que el numero maximo de asistentes sea mayor al numero total de usuarios 3.Compruebo que el usuario no este ya en la quedada comparandolo por su id 4.Compruebo que el usuario no este ya incrito en una quedada ese mismo dia 5.Si no existe el usuario lo añado a la quedada
      Specified by:
      agregarUsuario in interface QuedadaService
    • asignarRuta

      public Optional<Quedada> asignarRuta(Long idQuedada, Long idRuta)
      Asignar una ruta a una quedada Compruebo que ambos campos existen Si no hay una ruta ya en el campo de quedada se la añado
      Specified by:
      asignarRuta in interface QuedadaService
    • eliminarUsuarioDeQuedada

      public void eliminarUsuarioDeQuedada(Long idQuedada, Long idUsuario)
      Specified by:
      eliminarUsuarioDeQuedada in interface QuedadaService