Class UserWalletService
java.lang.Object
com.raphaelsalles.backend.domain.service.user.UserWalletService
Serviço de Gestão de Carteira de Usuário.
Propósito: Gerenciar a lista de ativos na carteira 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 WalletRepositoryprivate final FinancialStatementRepositoryprivate final ValuationService -
Constructor Summary
ConstructorsConstructorDescriptionUserWalletService(WalletRepository repository, MarketDataService marketDataService, FinancialStatementRepository statementRepository, ValuationService valuationService, AssetRepository assetRepository) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdiciona um ativo a carteira.getUserWalletsTickers(User user) Retorna a lista de tickers da carteira.getUserWalletsWithPrice(User user) Retorna a lista de ativos da carteira enriquecida com preço e valuation.private MarketDataDTOprocessTicker(String ticker) voidremoveWallet(User user, String ticker) Remove um ativo da carteira.
-
Field Details
-
log
private static final org.slf4j.Logger log -
repository
-
marketDataService
-
statementRepository
-
valuationService
-
assetRepository
-
asyncExecutor
-
-
Constructor Details
-
UserWalletService
public UserWalletService(WalletRepository repository, MarketDataService marketDataService, FinancialStatementRepository statementRepository, ValuationService valuationService, AssetRepository assetRepository)
-
-
Method Details
-
addWallet
-
removeWallet
-
getUserWalletsTickers
-
getUserWalletsWithPrice
Retorna a lista de ativos da carteira 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
-