Commit f1e05c7f by Rubén Ramírez

feat: [BibliotecaRecurso]: Modificadas las clases para los nuevos métodos

parent 758e7cc9
......@@ -6,6 +6,7 @@ import lombok.*;
@Entity
@Table(name = "biblioteca_personal_recurso")
@Getter
@Setter
@NoArgsConstructor
public class BibliotecaPersonalRecurso {
......
......@@ -28,4 +28,20 @@ public class RepositorioBibliotecaPersonalRecurso {
.setParameter("categoria", categoria)
.getResultList();
}
public void eliminarRecursoDeBiblioteca(Long bibliotecaPersonalId, Long recursoId) {
em.createQuery("DELETE FROM BibliotecaPersonalRecurso bpr WHERE bpr.bibliotecaPersonal.id = :bibliotecaPersonalId AND bpr.recurso.id = :recursoId")
.setParameter("bibliotecaPersonalId", bibliotecaPersonalId)
.setParameter("recursoId", recursoId)
.executeUpdate();
}
public void actualizarCategoriaRecurso(Long bibliotecaPersonalId, Long recursoId, Categoria nuevaCategoria) {
em.createQuery("UPDATE BibliotecaPersonalRecurso bpr SET bpr.categoria = :nuevaCategoria WHERE bpr.bibliotecaPersonal.id = :bibliotecaPersonalId AND bpr.recurso.id = :recursoId")
.setParameter("nuevaCategoria", nuevaCategoria)
.setParameter("bibliotecaPersonalId", bibliotecaPersonalId)
.setParameter("recursoId", recursoId)
.executeUpdate();
}
}
package com.ujaen.tfg.mangaffinity.rest.DTO;
import com.ujaen.tfg.mangaffinity.entidades.Categoria;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class DTORecursoEnBiblioteca {
private Long usuarioId;
private Long recursoId;
private String titulo;
private Categoria categoria;
public DTORecursoEnBiblioteca(Long recursoId, String titulo, Categoria categoria) {
this.recursoId = recursoId;
this.titulo = titulo;
this.categoria = categoria;
}
}
package com.ujaen.tfg.mangaffinity.servicios;
import com.ujaen.tfg.mangaffinity.entidades.BibliotecaPersonal;
import com.ujaen.tfg.mangaffinity.entidades.BibliotecaPersonalRecurso;
import com.ujaen.tfg.mangaffinity.entidades.Categoria;
import com.ujaen.tfg.mangaffinity.entidades.Recurso;
import com.ujaen.tfg.mangaffinity.excepciones.RecursoNoExiste;
import com.ujaen.tfg.mangaffinity.repositorios.RepositorioBibliotecaPersonalRecurso;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class ServicioBibliotecaPersonal {
@Autowired
private RepositorioBibliotecaPersonalRecurso repositorioBibliotecaPersonalRecurso;
@Transactional
public void anadirRecursoBiblioteca(BibliotecaPersonal bibliotecaPersonal, Recurso recurso, Categoria categoria) {
BibliotecaPersonalRecurso bibliotecaRecurso = new BibliotecaPersonalRecurso(bibliotecaPersonal, recurso, categoria);
repositorioBibliotecaPersonalRecurso.anadirRecursoBiblioteca(bibliotecaRecurso);
}
@Transactional(readOnly = true)
public List<BibliotecaPersonalRecurso> listarPorCategoria(Long bibliotecaPersonalId, Categoria categoria) {
return repositorioBibliotecaPersonalRecurso.listarPorCategoria(bibliotecaPersonalId, categoria);
}
@Transactional
public void eliminarRecurso(Long bibliotecaPersonalId, Long recursoId) {
repositorioBibliotecaPersonalRecurso.eliminarRecursoDeBiblioteca(bibliotecaPersonalId, recursoId);
}
// 🔄 Modificar la categoría de un recurso
@Transactional
public void modificarCategoria(Long bibliotecaPersonalId, Long recursoId, Categoria nuevaCategoria) {
repositorioBibliotecaPersonalRecurso.actualizarCategoriaRecurso(bibliotecaPersonalId, recursoId, nuevaCategoria);
}
}
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