Merge branch 'develop' into 'main'
Develop See merge request india/india_market_java!62
This commit is contained in:
@@ -261,7 +261,7 @@ public class Scraper {
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (StockIpo stockIpo : listStockIpoList) {
|
||||
StockIpo existIpo = existStockIpoList.stream().filter(a -> a.getStockCode().equals(stockIpo.getStockCode()) && (a.getExchangeType() == null || a.getExchangeType().isEmpty() || a.getExchangeType().equals(stockIpo.getExchangeType()) )).findFirst().orElse(null);
|
||||
StockIpo existIpo = existStockIpoList.stream().filter(a -> a.getStockCode().equals(stockIpo.getStockCode()) && (a.getExchangeType() == null || a.getExchangeType().isEmpty() || a.getExchangeType().toLowerCase().trim().equals(stockIpo.getExchangeType().toLowerCase().trim()))).findFirst().orElse(null);
|
||||
if (existIpo != null) {
|
||||
if (existIpo.getExchangeType() == null || existIpo.getExchangeType().isEmpty()){
|
||||
existIpo.setExchangeType(stockIpo.getExchangeType());
|
||||
@@ -528,22 +528,23 @@ public class Scraper {
|
||||
public List<MoneyStock> convertToMoneyStock(List<StockIpo> stockIpoList) {
|
||||
// Lấy danh sách tất cả stockCode và exchangeType từ stockIpoList
|
||||
Set<String> stockCodes = stockIpoList.stream().map(StockIpo::getStockCode).collect(Collectors.toSet());
|
||||
Set<String> exchangeTypes = stockIpoList.stream().map(StockIpo::getExchangeType).collect(Collectors.toSet());
|
||||
// Set<String> exchangeTypes = stockIpoList.stream().map(StockIpo::getExchangeType).collect(Collectors.toSet());
|
||||
Set<String> exchangeTypes = stockIpoList.stream().map(stockIpo -> stockIpo.getExchangeType().toUpperCase()).collect(Collectors.toSet());
|
||||
|
||||
// Lấy tất cả các MoneyStock tồn tại trong database với stockCode và exchangeType trong stockIpoList
|
||||
List<MoneyStock> existingMoneyStocks = moneyStockRepository.findAll(
|
||||
QMoneyStockPO.moneyStockPO.moneyScId.in(stockCodes)
|
||||
.and(QMoneyStockPO.moneyStockPO.stockType.in(exchangeTypes))
|
||||
.and(QMoneyStockPO.moneyStockPO.stockType.upper().in(exchangeTypes))
|
||||
);
|
||||
|
||||
// Lưu các stockCode và exchangeType đã tồn tại
|
||||
Set<String> existingKeys = existingMoneyStocks.stream()
|
||||
.map(ms -> ms.getMoneyScId() + ms.getStockType())
|
||||
.map(ms -> ms.getMoneyScId() + ms.getStockType().toUpperCase())
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
// Chỉ giữ những StockIpo chưa tồn tại
|
||||
return stockIpoList.stream()
|
||||
.filter(stockIpo -> !existingKeys.contains(stockIpo.getStockCode() + stockIpo.getExchangeType()))
|
||||
.filter(stockIpo -> !existingKeys.contains(stockIpo.getStockCode() + stockIpo.getExchangeType().toUpperCase()))
|
||||
.map(this::convert)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user