From dbf480ec15281845a339d4155ef490d45b24ba6e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Mar 2026 15:49:54 +0000 Subject: [PATCH 1/2] Initial plan From ae6143425a72d6c500aab9921071fa5fc4233d3e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Mar 2026 15:53:49 +0000 Subject: [PATCH 2/2] Add cache-first check in AlphaVantageService.fetchSharePrices() Co-authored-by: lukepring <68820847+lukepring@users.noreply.github.com> --- .../sharecomparison/infrastructure/AlphaVantageService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stockscope/src/main/java/com/sharecomparison/infrastructure/AlphaVantageService.java b/stockscope/src/main/java/com/sharecomparison/infrastructure/AlphaVantageService.java index c226b18..3a09484 100644 --- a/stockscope/src/main/java/com/sharecomparison/infrastructure/AlphaVantageService.java +++ b/stockscope/src/main/java/com/sharecomparison/infrastructure/AlphaVantageService.java @@ -55,6 +55,12 @@ public List fetchSharePrices(String symbol, LocalDate startDate, Loca return repository.loadPrices(symbol, startDate, endDate); } + List cached = repository.loadPrices(symbol, startDate, endDate); + if (!cached.isEmpty()) { + log.debug("Returning cached prices for symbol={} ({} to {})", symbol, startDate, endDate); + return cached; + } + String json = fetchTimeSeriesDailyJson(symbol, outputSize); if (json == null) { return repository.loadPrices(symbol, startDate, endDate);