Class MarketDataService

java.lang.Object
com.raphaelsalles.backend.domain.service.market.MarketDataService

@Service public class MarketDataService extends Object
Serviço de Dados de Mercado (Cotações).

Propósito: Integrar com APIs externas (ex: brapi.dev) para obter preços de ativos em tempo real.

  • Field Details

    • log

      private static final org.slf4j.Logger log
    • client

      private final HttpClient client
    • mapper

      private final com.fasterxml.jackson.databind.ObjectMapper mapper
    • BASE_URL

      private static final String BASE_URL
      See Also:
    • apiToken

      @Value("${api.market.token:public}") private String apiToken
    • TICKER_TAPE_ASSETS

      private static final String TICKER_TAPE_ASSETS
      See Also:
  • Constructor Details

    • MarketDataService

      public MarketDataService()
  • Method Details

    • getTickerTapeData

      public List<MarketDataDTO> getTickerTapeData()
      Obtém dados de mercado para uma lista pré-definida de ativos (Ticker Tape).
      Returns:
      Lista de DTOs com cotações.
    • getMarketData

      public MarketDataDTO getMarketData(String ticker)
      Obtém dados de mercado para um ativo específico.
      Parameters:
      ticker - O código do ativo.
      Returns:
      DTO com cotação, ou DTO com erro se falhar.
    • parseJsonNode

      private MarketDataDTO parseJsonNode(com.fasterxml.jackson.databind.JsonNode result)
    • getSafeDecimal

      private BigDecimal getSafeDecimal(com.fasterxml.jackson.databind.JsonNode node, String fieldName)