Class ComentarioServiceImpl
java.lang.Object
com.stem.grupoSenda.service.impl.ComentarioServiceImpl
- All Implemented Interfaces:
ComentarioService
Implementación del servicio de comentarios.
Aquí se gestiona la lógica de negocio para los comentarios, como las comprobaciones de seguridad para evitar que un usuario comente dos veces.
* @author Alex Fernandez Orta- Version:
- 1.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionactualizarComentario(Long id, Comentario nuevoComentario) Actualiza un comentario existente modificando solo los campos que no vengan vacíos.voidborrarComentario(Long id) Elimina un comentario de la base de datos usando su número de id. * @param id El número de id del comentario que se quiere borrar.crearComentario(Comentario comentario) Crea un nuevo comentario en una quedada si el usuario existe y no ha comentado antes.Devuelve una lista con todos los comentarios que existen en la base de datos. * @return Una lista con todos los comentarios encontrados.Busca un comentario específico utilizando su número de id. * @param id El número identificador del comentario que queremos buscar.
-
Constructor Details
-
ComentarioServiceImpl
public ComentarioServiceImpl()
-
-
Method Details
-
listarComentarios
Devuelve una lista con todos los comentarios que existen en la base de datos. * @return Una lista con todos los comentarios encontrados.- Specified by:
listarComentariosin interfaceComentarioService
-
obtenerComentarioPorId
Busca un comentario específico utilizando su número de id. * @param id El número identificador del comentario que queremos buscar.- Specified by:
obtenerComentarioPorIdin interfaceComentarioService- Returns:
- Un Optional que contiene el comentario si existe, o vacío si no se encuentra.
-
crearComentario
Crea un nuevo comentario en una quedada si el usuario existe y no ha comentado antes. El método busca al usuario y la quedada; si los encuentra, revisa la lista de comentarios para asegurarse de que ese usuario no tenga ya un comentario allí. * @param comentario Los datos del comentario que se quiere añadir.- Specified by:
crearComentarioin interfaceComentarioService- Returns:
- El comentario guardado con sus relaciones listas, o null si el usuario ya había comentado o no existía.
-
actualizarComentario
Actualiza un comentario existente modificando solo los campos que no vengan vacíos. Permite cambiar el texto, la puntuación o la fecha sin necesidad de tener que volver a enviar todos los datos obligatoriamente. * @param id El número identificador del comentario que queremos cambiar.- Specified by:
actualizarComentarioin interfaceComentarioService- Parameters:
nuevoComentario- Objeto que contiene los nuevos datos a aplicar.- Returns:
- Un Optional que contiene el comentario ya actualizado.
-
borrarComentario
Elimina un comentario de la base de datos usando su número de id. * @param id El número de id del comentario que se quiere borrar.- Specified by:
borrarComentarioin interfaceComentarioService
-