Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
María Hidalgo
/
carpooling-dae
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
ed4507a0
authored
Jan 25, 2024
by
María Hidalgo
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Transacciones
parent
2a04addb
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
11 deletions
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Usuario.java
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Viaje.java
src/main/java/es/ujaen/dae/carpoolingdae/repositorios/RepositorioUsuarios.java
src/main/java/es/ujaen/dae/carpoolingdae/repositorios/RepositorioViajes.java
src/main/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpooling.java
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Usuario.java
View file @
ed4507a0
...
...
@@ -68,7 +68,7 @@ public class Usuario implements Serializable {
String
clave
;
// Viajes creados por el conductor
@OneToMany
(
fetch
=
FetchType
.
EAGER
,
cascade
=
CascadeType
.
ALL
)
@OneToMany
(
fetch
=
FetchType
.
LAZY
,
cascade
=
CascadeType
.
ALL
)
// @JoinColumn(name = "usuario_dni")
List
<
Viaje
>
viajesComoConductor
;
...
...
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Viaje.java
View file @
ed4507a0
...
...
@@ -61,7 +61,7 @@ public class Viaje {
EstadoViaje
estado
;
// Lista de usuarios que son confirmados en un viaje
@ManyToMany
(
cascade
=
CascadeType
.
ALL
,
fetch
=
FetchType
.
EAGER
)
@ManyToMany
(
cascade
=
CascadeType
.
ALL
,
fetch
=
FetchType
.
EAGER
)
@JoinColumn
(
name
=
"confirmado_usuario_dni"
)
public
List
<
Usuario
>
usuariosConfirmados
;
...
...
src/main/java/es/ujaen/dae/carpoolingdae/repositorios/RepositorioUsuarios.java
View file @
ed4507a0
...
...
@@ -26,7 +26,7 @@ public class RepositorioUsuarios {
public
void
guardar
(
Usuario
usuario
)
{
em
.
persist
(
usuario
);
}
@Transactional
(
propagation
=
Propagation
.
SUPPORTS
,
readOnly
=
true
)
public
void
actualizarUsuario
(
Usuario
usuario
){
em
.
merge
(
usuario
);
}
...
...
src/main/java/es/ujaen/dae/carpoolingdae/repositorios/RepositorioViajes.java
View file @
ed4507a0
...
...
@@ -36,6 +36,8 @@ public class RepositorioViajes {
}
// @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
public
List
<
Viaje
>
buscar
(
String
origen
,
String
destino
,
LocalDateTime
fecha
)
{
List
<
Viaje
>
viajes
=
new
ArrayList
<>();
// try {
...
...
@@ -51,7 +53,7 @@ public class RepositorioViajes {
return
viajes
;
}
@Transactional
(
propagation
=
Propagation
.
SUPPORTS
,
readOnly
=
true
)
public
void
actualizarViajes
(
Viaje
viaje
)
{
em
.
merge
(
viaje
);
}
...
...
src/main/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpooling.java
View file @
ed4507a0
...
...
@@ -12,6 +12,7 @@ import java.util.List;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.validation.annotation.Validated
;
import
es.ujaen.dae.carpoolingdae.entidades.Usuario
;
...
...
@@ -68,14 +69,14 @@ public class SistemaCarpooling {
* @return el objeto de la clase Viaje asociado
*/
public
Optional
<
Usuario
>
loginUsuario
(
@NotBlank
String
dni
,
@NotBlank
String
clave
)
{
Optional
<
Usuario
>
usuarioLogin
=
repositorioUsuarios
.
buscar
(
dni
)
.
filter
((
cliente
)
->
cliente
.
claveValida
(
clave
));
return
usuarioLogin
;
}
@Transactional
public
void
agregarViaje
(
@NotNull
Usuario
conductor
,
@NotNull
Viaje
viaje
)
{
// Agregar el viaje al repositorio de viajes
repositorioViajes
.
guardarViaje
(
viaje
);
...
...
@@ -87,7 +88,7 @@ public class SistemaCarpooling {
repositorioUsuarios
.
actualizarUsuario
(
conductor
);
}
/**
/**
qqq2
* Buscar viaje
*
* @param origen donde empieza el viaje
...
...
@@ -97,6 +98,7 @@ public class SistemaCarpooling {
*/
public
List
<
Viaje
>
buscarViajes
(
@NotBlank
String
origen
,
@NotBlank
String
destino
,
@NotNull
LocalDateTime
fecha
)
{
List
<
Viaje
>
listaViajes
=
repositorioViajes
.
buscar
(
origen
,
destino
,
fecha
);
...
...
@@ -110,7 +112,7 @@ public class SistemaCarpooling {
* @param conductor el usuario conductor
* @return lista de viajes pendientes del conductor
*/
// @Transactional
public
List
<
Viaje
>
obtenerViajesPendientesConductor
(
@NotNull
Usuario
conductor
)
{
// Filtrar los viajes del conductor que aún no han sido realizados
return
conductor
.
getViajesComoConductor
().
stream
()
...
...
@@ -124,15 +126,14 @@ public class SistemaCarpooling {
*
* @param viaje al que se envía la solicitud
*/
@Transactional
public
void
enviarSolicitudViaje
(
@NotNull
Viaje
viaje
,
@NotNull
Usuario
pasajero
)
{
// Llamar a la función en viaje para enviar la solicitud
viaje
.
enviarSolicitudParaSerPasajero
(
viaje
,
pasajero
);
repositorioViajes
.
actualizarViajes
(
viaje
);
}
@Transactional
public
void
aceptarPasajeroViaje
(
@NotNull
Viaje
viaje
,
@NotNull
Usuario
pasajero
,
@NotNull
Usuario
conductor
)
{
...
...
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