Class UserFavoriteService
java.lang.Object
com.raphaelsalles.backend.domain.service.user.UserFavoriteService
Serviço de Gestão de Favoritos de Usuário.
Propósito: Gerenciar a lista de ativos favoritos e enriquecê-la com dados de mercado para exibição em dashboards.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AssetRepositoryprivate final Executorprivate static final org.slf4j.Loggerprivate final MarketDataServiceprivate final FavoriteRepositoryprivate final FinancialStatementRepositoryprivate final ValuationService -
Constructor Summary
ConstructorsConstructorDescriptionUserFavoriteService(FavoriteRepository repository, MarketDataService marketDataService, FinancialStatementRepository statementRepository, ValuationService valuationService, AssetRepository assetRepository) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddFavorite(User user, String ticker) Adiciona um ativo aos favoritos.getUserFavoritesTickers(User user) Retorna a lista de tickers favoritos.Retorna a lista de favoritos enriquecida com preço e valuation.private MarketDataDTOprocessTicker(String ticker) voidremoveFavorite(User user, String ticker) Remove um ativo dos favoritos.
-
Field Details
-
log
private static final org.slf4j.Logger log -
repository
-
marketDataService
-
statementRepository
-
valuationService
-
assetRepository
-
asyncExecutor
-
-
Constructor Details
-
UserFavoriteService
public UserFavoriteService(FavoriteRepository repository, MarketDataService marketDataService, FinancialStatementRepository statementRepository, ValuationService valuationService, AssetRepository assetRepository)
-
-
Method Details
-
addFavorite
-
removeFavorite
-
getUserFavoritesTickers
-
getUserFavoritesWithPrice
Retorna a lista de favoritos enriquecida com preço e valuation.Nota de Auditoria: Executa chamadas de API externa em paralelo (CompletableFuture) para reduzir latência.
- Parameters:
user- O usuário.- Returns:
- Lista de DTOs de mercado.
-
processTicker
-