|
|
@@ -41,7 +41,7 @@ public class StockRepository {
|
|
|
}
|
|
|
|
|
|
public Quote findByCode(String code) {
|
|
|
- Optional<Quote> quote = repository.findByCode(code);
|
|
|
+ Optional<Quote> quote = repository.findLatestByCode(code);
|
|
|
return quote.orElseGet(() -> repository.save(getStockQuote(code)));
|
|
|
}
|
|
|
|
|
|
@@ -50,11 +50,12 @@ public class StockRepository {
|
|
|
}
|
|
|
|
|
|
public boolean isValid(String code) {
|
|
|
- Quote quote = repository.findByCode(code).orElse(null);
|
|
|
+ Quote quote = repository.findLatestByCode(code).orElse(null);
|
|
|
|
|
|
if (quote != null) return true;
|
|
|
|
|
|
try {
|
|
|
+ log.info("Current stock's name is null. Requesting latest information...");
|
|
|
client.getStockInfo(code, key);
|
|
|
return true;
|
|
|
} catch (FeignException.NotFound e) {
|
|
|
@@ -63,7 +64,7 @@ public class StockRepository {
|
|
|
}
|
|
|
|
|
|
public Quote getStockQuote(String code) {
|
|
|
- Quote quote = repository.findByCode(code).orElse(new Quote(code, null, null, now()));
|
|
|
+ Quote quote = repository.findLatestByCode(code).orElse(new Quote(code, null, null, now()));
|
|
|
quote.setPrice(getLastPrice(quote));
|
|
|
|
|
|
if (quote.getName() == null) {
|