Commit d2d5a5d0 by Antonio Rueda

Eliminación de transacciones innecesarias en servicios

parent fd618113
...@@ -9,7 +9,6 @@ import es.ujaen.dae.ujacoin.entidades.movimientos.Movimiento; ...@@ -9,7 +9,6 @@ import es.ujaen.dae.ujacoin.entidades.movimientos.Movimiento;
import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext; import jakarta.persistence.PersistenceContext;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.Month;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
......
...@@ -75,7 +75,6 @@ public class ServicioUjaCoin { ...@@ -75,7 +75,6 @@ public class ServicioUjaCoin {
* @param clave la clave de acceso * @param clave la clave de acceso
* @return el objeto de la clase Cliente asociado * @return el objeto de la clase Cliente asociado
*/ */
@Transactional
public Optional<Cliente> loginCliente(@NotBlank String dni, @NotBlank String clave) { public Optional<Cliente> loginCliente(@NotBlank String dni, @NotBlank String clave) {
Optional<Cliente> clienteLogin = repositorioClientes.buscar(dni) Optional<Cliente> clienteLogin = repositorioClientes.buscar(dni)
.filter((cliente)->cliente.claveValida(clave)); .filter((cliente)->cliente.claveValida(clave));
...@@ -103,7 +102,6 @@ public class ServicioUjaCoin { ...@@ -103,7 +102,6 @@ public class ServicioUjaCoin {
* @param dni el DNI del cliente * @param dni el DNI del cliente
* @param tarjeta la tarjeta a registrar * @param tarjeta la tarjeta a registrar
*/ */
// @Transactional
public void registrarTarjeta(@NotBlank String dni, @NotNull @Valid Tarjeta tarjeta) { public void registrarTarjeta(@NotBlank String dni, @NotNull @Valid Tarjeta tarjeta) {
Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new); Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new);
cliente.verTarjeta(tarjeta.getNum()).ifPresent(x -> { throw new TarjetaYaRegistrada(); } ); cliente.verTarjeta(tarjeta.getNum()).ifPresent(x -> { throw new TarjetaYaRegistrada(); } );
...@@ -119,12 +117,9 @@ public class ServicioUjaCoin { ...@@ -119,12 +117,9 @@ public class ServicioUjaCoin {
* @param dni el DNI del cliente * @param dni el DNI del cliente
* @return la lista de cuentas * @return la lista de cuentas
*/ */
@Transactional
public List<Cuenta> verCuentas(@NotBlank String dni) { public List<Cuenta> verCuentas(@NotBlank String dni) {
Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new); Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new);
// Precargar a memoria la relación lazy de cuentas del cliente antes de devolver
cliente.verCuentas().size();
return cliente.verCuentas(); return cliente.verCuentas();
} }
...@@ -198,7 +193,6 @@ public class ServicioUjaCoin { ...@@ -198,7 +193,6 @@ public class ServicioUjaCoin {
* @param fechaHoraHasta la fecha final * @param fechaHoraHasta la fecha final
* @return la lista de los movimientos entre las fechas indicadas * @return la lista de los movimientos entre las fechas indicadas
*/ */
@Transactional
List<Movimiento> listarMovimientosCuentaDesdeHasta(@NotBlank String numCuenta, @Past LocalDateTime fechaHoraDesde, LocalDateTime fechaHoraHasta) { List<Movimiento> listarMovimientosCuentaDesdeHasta(@NotBlank String numCuenta, @Past LocalDateTime fechaHoraDesde, LocalDateTime fechaHoraHasta) {
Cuenta cuenta = repositorioCuentas.buscar(numCuenta) Cuenta cuenta = repositorioCuentas.buscar(numCuenta)
.orElseThrow(CuentaNoRegistrada::new); .orElseThrow(CuentaNoRegistrada::new);
...@@ -215,7 +209,6 @@ public class ServicioUjaCoin { ...@@ -215,7 +209,6 @@ public class ServicioUjaCoin {
* @param fechaHoraDesde fecha de primer movimiento * @param fechaHoraDesde fecha de primer movimiento
* @return el listado de movimientos * @return el listado de movimientos
*/ */
@Transactional
public List<Movimiento> listarMovimientosCuentaDesde(@NotBlank String numCuenta, @Past LocalDateTime fechaHoraDesde) { public List<Movimiento> listarMovimientosCuentaDesde(@NotBlank String numCuenta, @Past LocalDateTime fechaHoraDesde) {
Cuenta cuenta = repositorioCuentas.buscar(numCuenta) Cuenta cuenta = repositorioCuentas.buscar(numCuenta)
.orElseThrow(CuentaNoRegistrada::new); .orElseThrow(CuentaNoRegistrada::new);
......
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