Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Rubén Ramírez
/
MangAffinity
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
f558a4a0
authored
Apr 07, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [ServiciooRecurso]: Métodos creados para obtener y añadir las reseñas de un recurso
parent
714cda48
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
4 deletions
src/main/java/com/ujaen/tfg/mangaffinity/servicios/ServicioRecursos.java
src/main/java/com/ujaen/tfg/mangaffinity/servicios/ServicioRecursos.java
View file @
f558a4a0
...
...
@@ -4,16 +4,14 @@ import com.ujaen.tfg.mangaffinity.entidades.*;
import
com.ujaen.tfg.mangaffinity.excepciones.*
;
import
com.ujaen.tfg.mangaffinity.repositorios.RepositorioCapitulo
;
import
com.ujaen.tfg.mangaffinity.repositorios.RepositorioRecurso
;
import
com.ujaen.tfg.mangaffinity.repositorios.RepositorioUsuario
;
import
jakarta.validation.Valid
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDate
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -376,4 +374,39 @@ public class ServicioRecursos {
return
repositorioRecurso
.
obtenerTopRecursosUltimaSemana
();
}
/**
* Añade una nueva reseña a un recurso.
* @param resena Objeto Resena con los datos de la reseña a añadir.
*/
@Transactional
public
void
anadirResena
(
Resena
resena
)
{
if
(
resena
.
getFechaPublicacion
()
==
null
)
{
resena
.
setFechaPublicacion
(
LocalDate
.
now
());
}
// Inicializar la colección 'resenas' para evitar LazyInitializationException
Recurso
recurso
=
resena
.
getRecurso
();
// Forzar la inicialización de la colección de reseñas
recurso
.
getResenas
().
size
();
// Hacer acceso a la colección para inicializarla
// Añadir la reseña al recurso
recurso
.
getResenas
().
add
(
resena
);
// Realizamos el merge para asegurarnos de que el recurso (con sus reseñas) se guarda correctamente
repositorioRecurso
.
actualiza
(
recurso
);
}
/**
* Obtiene las reseñas de un recurso específico, ordenadas por fecha de publicación de manera descendente.
* @param recursoId Identificador del recurso cuyo listado de reseñas se desea obtener.
* @return Lista de reseñas del recurso, ordenadas por fecha de publicación.
*/
public
List
<
Resena
>
obtenerResenasDeRecurso
(
Long
recursoId
)
{
return
repositorioRecurso
.
obtenerResenasPorRecurso
(
recursoId
)
.
stream
()
.
sorted
(
Comparator
.
comparing
(
Resena:
:
getFechaPublicacion
).
reversed
())
.
collect
(
Collectors
.
toList
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment