Grupo13SpringComision23650 / ElRepositoryDelGrupo13

Grupo para trabajo de TP final - Curso Spring - Comision 23650
2 stars 1 forks source link

8) Asignación Automática: #9

Closed admred closed 11 months ago

admred commented 11 months ago

Nuevos cambios:

    8) Asignación Automática:
Se deberá asignar una cuenta automáticamente al usuario al crearse, es decir, se debe 
generar una cuenta (del tipo caja de ahorro) de forma automática y asignarse en el 
momento de la creación al usuario registrado nuevo.

Propuesta: en createUser (o createUsuario) llamaria el metodo createAccount del service de Account, para crear una caja de ahorro en pesos (por defecto). Esto cada vez que se crea un usuario nuevo.

Esto debe estar listo para el proximo martes 5 de diciembre , se entrega/expone en clase.

Mirtyta commented 11 months ago

Hola a todos, nos ha tocado la generacion automatica!! creo que con ello tuvimos suerte, yo elegi la entidad User, ya genere tanto para Postman como para la vista en Thymeleaft un formulario de carga, en POSTMAN un RequestBody con Raw en formato JSon, funcionando correctamente al igual que Thymeleaft, a ese metodo le agregaremos la generacion automatica de un Account que por defecto private Long id;

@Column(name = "tipo_cuenta")
private AccountType type;  // sera "CAJA_AHORRO_PESOS"
private String cbu; // su CBU se generara automaticamente, un numero de 10 cifras aleatorio
private String alias; // elegido por el usuario al momento de crear su user
@Column(name = "monto")
private BigDecimal amount; // se asignara automaticamente a 0 y las siguientes 2 fechas se crean automaticamente ya!
@Column(name = "fecha_creacion")
private LocalDateTime created_at;
@Column(name = "fecha_modificacion")
private LocalDateTime updated_at;

Espero les parezca bien mi idea, y si no opinen asi buscamos la mejor opcion para todos!!

admred commented 11 months ago

Hola Mirta! Esa clase esta bien!

Pero aca viene observaciones:

Parte 1:

En UserController tenes:

@PostMapping
  public BankResponse createUser(@RequestBody UserDto userDto){
    return userServiceImpl.createUser(userDto);
  }

Aca debe retornar con codigo HttpStatus.CREATED (201) y no se por la necesidad de retornar el BankResponse, si es por algo del frontend ok, sino esta demás. Debemos usar ResponseEntity como lo hace el profe

Parte 2:

En utils.Utils.java

public class Utils {
  public static final String USER_EXISTS_CODE = "001";
  public static final String USER_EXISTS_MESSAGE = "Este usuario ya existe!";
  public static final String USER_CREATION_SUCCESS_CODE = "002";

Me parece un tanto redundante, ya en controller tenemos los response http status codes que nos brinda ReponseEntity , en cuanto los mensajes lo mapeamos de esta forma https://github.com/CrisGadea/23649-TP-Final/tree/master/src/main/java/com/ar/cac/homebanking/exceptions y con .orElseThrow en el controller

Cuando es exitosa, no hace falta mensaje, ya sabes que fue bueno .Esto lo dejamos al final y como opcional, por que no vimos (por ahora) exepciones en spring.

Son solo son observaciones/sugerencias. Si nos apegamos como lo hace el profe nada malo nos sucedera :smiley: :imp: :smiley: