Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Antonio Rueda
/
UJACoin
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
a88d62b9
authored
Nov 23, 2023
by
Antonio Rueda
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Eliminación de operaciones verCliente() y verTarjetas, accesibles desde el propio cliente
parent
7b02c593
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
32 deletions
src/main/java/es/ujaen/dae/ujacoin/rest/ControladorREST.java
src/main/java/es/ujaen/dae/ujacoin/servicios/ServicioUjaCoin.java
src/test/java/es/ujaen/dae/ujacoin/servicios/ServicioUjaCoinTest.java
src/main/java/es/ujaen/dae/ujacoin/rest/ControladorREST.java
View file @
a88d62b9
...
@@ -112,7 +112,10 @@ public class ControladorREST {
...
@@ -112,7 +112,10 @@ public class ControladorREST {
@GetMapping
(
"/clientes/{dni}/tarjetas"
)
@GetMapping
(
"/clientes/{dni}/tarjetas"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseStatus
(
HttpStatus
.
OK
)
List
<
DTOTarjeta
>
verTarjetas
(
@PathVariable
String
dni
)
{
List
<
DTOTarjeta
>
verTarjetas
(
@PathVariable
String
dni
)
{
return
servicios
.
verTarjetas
(
dni
).
stream
()
return
servicios
.
verCliente
(
dni
)
.
orElseThrow
(
ClienteNoRegistrado:
:
new
)
.
verTarjetas
()
.
stream
()
.
map
(
t
->
new
DTOTarjeta
(
t
)).
toList
();
.
map
(
t
->
new
DTOTarjeta
(
t
)).
toList
();
}
}
...
@@ -121,7 +124,10 @@ public class ControladorREST {
...
@@ -121,7 +124,10 @@ public class ControladorREST {
*/
*/
@GetMapping
(
"/clientes/{dni}/tarjetas/{num}"
)
@GetMapping
(
"/clientes/{dni}/tarjetas/{num}"
)
ResponseEntity
<
DTOTarjeta
>
verTarjeta
(
@PathVariable
String
dni
,
@PathVariable
String
num
)
{
ResponseEntity
<
DTOTarjeta
>
verTarjeta
(
@PathVariable
String
dni
,
@PathVariable
String
num
)
{
return
servicios
.
verTarjetas
(
dni
).
stream
()
return
servicios
.
verCliente
(
dni
)
.
orElseThrow
(
ClienteNoRegistrado:
:
new
)
.
verTarjetas
()
.
stream
()
.
filter
(
t
->
t
.
getNum
().
equals
(
num
))
.
filter
(
t
->
t
.
getNum
().
equals
(
num
))
.
findFirst
()
.
findFirst
()
.
map
(
t
->
ResponseEntity
.
ok
(
new
DTOTarjeta
(
t
)))
.
map
(
t
->
ResponseEntity
.
ok
(
new
DTOTarjeta
(
t
)))
...
@@ -143,7 +149,10 @@ public class ControladorREST {
...
@@ -143,7 +149,10 @@ public class ControladorREST {
@GetMapping
(
"/clientes/{dni}/cuentas"
)
@GetMapping
(
"/clientes/{dni}/cuentas"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ResponseStatus
(
HttpStatus
.
OK
)
List
<
DTOCuenta
>
verCuentas
(
@PathVariable
String
dni
)
{
List
<
DTOCuenta
>
verCuentas
(
@PathVariable
String
dni
)
{
return
servicios
.
verCuentas
(
dni
).
stream
()
return
servicios
.
verCliente
(
dni
)
.
orElseThrow
(
ClienteNoRegistrado:
:
new
)
.
verCuentas
()
.
stream
()
.
map
(
c
->
new
DTOCuenta
(
c
)).
toList
();
.
map
(
c
->
new
DTOCuenta
(
c
)).
toList
();
}
}
...
@@ -152,7 +161,10 @@ public class ControladorREST {
...
@@ -152,7 +161,10 @@ public class ControladorREST {
*/
*/
@GetMapping
(
"/clientes/{dni}/cuentas/{num}"
)
@GetMapping
(
"/clientes/{dni}/cuentas/{num}"
)
ResponseEntity
<
DTOCuenta
>
verCuenta
(
@PathVariable
String
dni
,
@PathVariable
String
num
)
{
ResponseEntity
<
DTOCuenta
>
verCuenta
(
@PathVariable
String
dni
,
@PathVariable
String
num
)
{
return
servicios
.
verCuentas
(
dni
).
stream
()
return
servicios
.
verCliente
(
dni
)
.
orElseThrow
(
ClienteNoRegistrado:
:
new
)
.
verCuentas
()
.
stream
()
.
filter
(
c
->
c
.
getNum
().
equals
(
num
))
.
filter
(
c
->
c
.
getNum
().
equals
(
num
))
.
findFirst
()
.
findFirst
()
.
map
(
c
->
ResponseEntity
.
ok
(
new
DTOCuenta
(
c
)))
.
map
(
c
->
ResponseEntity
.
ok
(
new
DTOCuenta
(
c
)))
...
...
src/main/java/es/ujaen/dae/ujacoin/servicios/ServicioUjaCoin.java
View file @
a88d62b9
...
@@ -130,31 +130,7 @@ public class ServicioUjaCoin {
...
@@ -130,31 +130,7 @@ public class ServicioUjaCoin {
cliente
.
nuevaTarjeta
(
tarjeta
);
cliente
.
nuevaTarjeta
(
tarjeta
);
repositorioClientes
.
actualizar
(
cliente
);
repositorioClientes
.
actualizar
(
cliente
);
}
}
/**
* Devolver las cuentas de un cliente dado
* No es una operación imprescindible puesto que el cliente ya
* tiene la lista de cuentas
* @param dni el DNI del cliente
* @return la lista de cuentas
*/
public
List
<
Cuenta
>
verCuentas
(
@NotBlank
String
dni
)
{
Cliente
cliente
=
repositorioClientes
.
buscar
(
dni
).
orElseThrow
(
ClienteNoRegistrado:
:
new
);
return
cliente
.
verCuentas
();
}
/**
* Devolver las tarjetas registradas por el usuario. No es una operación
* realmente necesaria puesto que el cliente ya contiene esta lista
* @param dni el DNI del cliente
* @return la lista de tarjetas
*/
public
List
<
Tarjeta
>
verTarjetas
(
@NotBlank
String
dni
)
{
Cliente
cliente
=
repositorioClientes
.
buscar
(
dni
).
orElseThrow
(
ClienteNoRegistrado:
:
new
);
return
cliente
.
verTarjetas
();
// Relación eager, no hay que hacer nada
}
/**
/**
* Realizar un ingreso en cuenta a partir de una tarjeta
* Realizar un ingreso en cuenta a partir de una tarjeta
* @param numCuenta el número de la cuenta donde se ingresa el dinero
* @param numCuenta el número de la cuenta donde se ingresa el dinero
...
...
src/test/java/es/ujaen/dae/ujacoin/servicios/ServicioUjaCoinTest.java
View file @
a88d62b9
...
@@ -149,9 +149,11 @@ public class ServicioUjaCoinTest {
...
@@ -149,9 +149,11 @@ public class ServicioUjaCoinTest {
Tarjeta
tarjeta
=
new
Tarjeta
(
"4111111111111111"
,
cliente
.
getNombre
(),
LocalDate
.
of
(
2030
,
12
,
1
),
"365"
);
Tarjeta
tarjeta
=
new
Tarjeta
(
"4111111111111111"
,
cliente
.
getNombre
(),
LocalDate
.
of
(
2030
,
12
,
1
),
"365"
);
servicioUjaCoin
.
registrarTarjeta
(
clienteLogin
.
getDni
(),
tarjeta
);
servicioUjaCoin
.
registrarTarjeta
(
clienteLogin
.
getDni
(),
tarjeta
);
clienteLogin
.
nuevaTarjeta
(
tarjeta
);
clienteLogin
.
nuevaTarjeta
(
tarjeta
);
clienteLogin
=
null
;
// Obtener cuenta
// Obtener cuenta
List
<
Cuenta
>
cuentas
=
servicioUjaCoin
.
verCuentas
(
clienteLogin
.
getDni
());
clienteLogin
=
servicioUjaCoin
.
loginCliente
(
cliente
.
getDni
(),
"clave"
).
get
();
List
<
Cuenta
>
cuentas
=
clienteLogin
.
verCuentas
();
Assertions
.
assertThat
(
cuentas
).
hasSize
(
1
);
Assertions
.
assertThat
(
cuentas
).
hasSize
(
1
);
// Realizar ingreso y comprobar estado de la cuenta
// Realizar ingreso y comprobar estado de la cuenta
...
@@ -203,8 +205,8 @@ public class ServicioUjaCoinTest {
...
@@ -203,8 +205,8 @@ public class ServicioUjaCoinTest {
servicioUjaCoin
.
transferencia
(
cuentaOrigen
.
getNum
(),
cuentaDestino
.
getNum
(),
500
);
servicioUjaCoin
.
transferencia
(
cuentaOrigen
.
getNum
(),
cuentaDestino
.
getNum
(),
500
);
// Refrescar cuenta origen y destino
// Refrescar cuenta origen y destino
cuentaOrigen
=
servicioUjaCoin
.
verCuentas
(
cliente
.
getDni
()
).
get
(
0
);
cuentaOrigen
=
servicioUjaCoin
.
loginCliente
(
cliente
.
getDni
(),
"claveyyy"
).
get
().
verCuentas
(
).
get
(
0
);
cuentaDestino
=
servicioUjaCoin
.
verCuentas
(
cliente2
.
getDni
()
).
get
(
0
);
cuentaDestino
=
servicioUjaCoin
.
loginCliente
(
cliente2
.
getDni
(),
"clavezzz"
).
get
().
verCuentas
(
).
get
(
0
);
// Listar movimientos de la cuenta origen
// Listar movimientos de la cuenta origen
List
<
Movimiento
>
movimientos
=
servicioUjaCoin
.
listarMovimientosCuentaDesde
(
cuentaOrigen
.
getNum
(),
LocalDateTime
.
now
().
minusDays
(
1
));
List
<
Movimiento
>
movimientos
=
servicioUjaCoin
.
listarMovimientosCuentaDesde
(
cuentaOrigen
.
getNum
(),
LocalDateTime
.
now
().
minusDays
(
1
));
...
...
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