PortfolioHistory.java 691 B

1234567891011121314151617181920212223242526272829303132
  1. package com.danielbohry.stocks.domain;
  2. import lombok.AllArgsConstructor;
  3. import lombok.Builder;
  4. import lombok.Data;
  5. import java.math.BigDecimal;
  6. import java.time.Instant;
  7. import java.util.List;
  8. @Data
  9. @Builder
  10. @AllArgsConstructor
  11. public class PortfolioHistory {
  12. private String portfolioId;
  13. private BigDecimal totalValue;
  14. private Integer totalAssets;
  15. private List<PortfolioStock> stocks;
  16. private Instant createdAt;
  17. public BigDecimal getTotalValue() {
  18. return stocks.stream()
  19. .map(PortfolioStock::getTotal)
  20. .reduce(BigDecimal.ZERO, BigDecimal::add);
  21. }
  22. public Integer getTotalAssets() {
  23. return stocks.size();
  24. }
  25. }