瀏覽代碼

save stock info only if name is null

Daniel Bohry 1 年之前
父節點
當前提交
1cdc5469c0

+ 3 - 3
src/main/java/com/danielbohry/stocks/repository/StockRepository.java

@@ -73,12 +73,12 @@ public class StockRepository {
         Quote quote = repository.findByCode(code).stream().findFirst().orElse(new Quote(code, null, null, now()));
         quote.setPrice(getLastPrice(quote));
 
-        if (quote.getName() == null) {
+        if (quote.getName() == null || quote.getPrice() == null) {
             StockInfoResponse info = updateStockInformation(quote.getCode());
             quote.setName(info.getName());
-        }
 
-        repository.save(quote);
+            repository.save(quote);
+        }
 
         return quote;
     }

+ 2 - 1
src/main/java/com/danielbohry/stocks/service/PortfolioService.java

@@ -36,11 +36,12 @@ public class PortfolioService {
 
         log.info("Getting portfolio [{}]", id);
         List<Stock> updatedStocks = portfolio.getStocks().stream()
-                .peek(stock -> {
+                .map(stock -> {
                     Quote quote = stockService.getStockQuote(stock.getCode());
                     stock.setName(quote.getName());
                     stock.setPrice(quote.getPrice());
                     stock.setTotal(stock.getPrice().multiply(new BigDecimal(stock.getQuantity())));
+                    return stock;
                 }).toList();
 
         portfolio.setStocks(updatedStocks);