Skip to content

Commit

Permalink
aviso de viagem v1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
giovnnvm committed Aug 3, 2021
1 parent c8622c2 commit 255b777
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
* @Author giovanni.moratto
*/

public class BloqueioRequest {
public class BloqueioClientRequest {

private final String sistemaResponsavel;

public BloqueioRequest(String sistemaResponsavel) {
public BloqueioClientRequest(String sistemaResponsavel) {
this.sistemaResponsavel = sistemaResponsavel;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
* @Author giovanni.moratto
*/

public class BloqueioResponse {
public class BloqueioClientResponse {

private BloqueioStatus resultado;

@Deprecated
public BloqueioResponse() {
public BloqueioClientResponse() {
}

public BloqueioResponse(BloqueioStatus resultado) {
public BloqueioClientResponse(BloqueioStatus resultado) {
this.resultado = resultado;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,14 @@ public ResponseEntity <?> solicitacaoDeBloqueio(@PathVariable Long id,

BloqueioModel solicitacaoBloqueio = new BloqueioModel(request.getRemoteAddr(), userAgent,
cartao.getNumero(), cartao);

logger.info("Requisição de bloqueio convertida em classe de dominio");

bloqueioRepository.save(solicitacaoBloqueio);
logger.info("Requisição de bloqueio persistida no banco de dados");

cartao.bloquear();
logger.info("Cartão bloqueado");

cartaoRepository.save(cartao);
logger.info("Status do cartão atualizado no banco de dados");
return ResponseEntity.ok().build();
Expand Down Expand Up @@ -86,8 +88,8 @@ private void verificaSeCartaoJaEstaBloqueado(CartaoModel cartao) {
private void notificaBloqueio(CartaoModel cartao) {
logger.info("Notificação de tentativa de bloqueio enviada ao cliente");
try {
BloqueioResponse resultado = api.notificacaoDeBloqueio(
cartao.getNumero(), new BloqueioRequest("api-proposta"));
BloqueioClientResponse resultado = api.notificacaoDeBloqueio(
cartao.getNumero(), new BloqueioClientRequest("api-proposta"));
logger.info("Resultado da notificação: {}", resultado.getResultado());
} catch (FeignException e) {
throw new ResponseStatusException(UNPROCESSABLE_ENTITY, "Falha no sistema");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,10 @@ public class AvisoController {
public ResponseEntity <?> avisarViagem(@PathVariable Long id, @RequestBody @Valid AvisoRequest bodyRequest,
HttpServletRequest httpRequest) {

String userAgent = httpRequest.getHeader(HttpHeaders.USER_AGENT);
String ip = httpRequest.getRemoteAddr();

CartaoModel cartao = cartaoRepository.findById(id).orElseThrow(()
-> new ResponseStatusException(NOT_FOUND, "Este cartão não existe."));

AvisoModel novoAviso = bodyRequest.toModel(ip, userAgent, cartao);
AvisoModel novoAviso = bodyRequest.toModel(cartao, httpRequest);
novoAviso = avisoRepository.save(novoAviso);
return ResponseEntity.ok().build();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package br.com.zupacademy.giovannimoratto.desafioproposta.aviso;

import br.com.zupacademy.giovannimoratto.desafioproposta.cartao.CartaoModel;
import org.springframework.http.HttpHeaders;

import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
Expand All @@ -24,7 +26,9 @@ public AvisoRequest(String destino, LocalDate validoAte) {
this.validoAte = validoAte;
}

public AvisoModel toModel(String ipClient, String userAgent, CartaoModel cartao) {
public AvisoModel toModel(CartaoModel cartao, HttpServletRequest httpRequest) {
String userAgent = httpRequest.getHeader(HttpHeaders.USER_AGENT);
String ipClient = httpRequest.getRemoteAddr();
return new AvisoModel(destino, validoAte, ipClient, userAgent, cartao);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package br.com.zupacademy.giovannimoratto.desafioproposta.feign;

import br.com.zupacademy.giovannimoratto.desafioproposta.Bloqueio.BloqueioRequest;
import br.com.zupacademy.giovannimoratto.desafioproposta.Bloqueio.BloqueioResponse;
import br.com.zupacademy.giovannimoratto.desafioproposta.Bloqueio.BloqueioClientRequest;
import br.com.zupacademy.giovannimoratto.desafioproposta.Bloqueio.BloqueioClientResponse;
import br.com.zupacademy.giovannimoratto.desafioproposta.cartao.AnaliseRequest;
import br.com.zupacademy.giovannimoratto.desafioproposta.cartao.CartaoResponse;
import org.springframework.cloud.openfeign.FeignClient;
Expand All @@ -20,6 +20,6 @@ public interface CartoesFeignClient {
CartaoResponse associaCartao(@RequestBody AnaliseRequest request);

@PostMapping("/api/cartoes/{id}/bloqueios")
BloqueioResponse notificacaoDeBloqueio(@PathVariable("id") String id, @RequestBody BloqueioRequest request);
BloqueioClientResponse notificacaoDeBloqueio(@PathVariable("id") String id, @RequestBody BloqueioClientRequest request);

}

0 comments on commit 255b777

Please sign in to comment.