优化代码

This commit is contained in:
Achilles
2024-01-11 09:38:42 +08:00
parent 43f08fc073
commit 87c1504421

View File

@@ -1,5 +1,6 @@
package cn.stock.market.infrastructure.job;
import cn.hutool.core.collection.CollectionUtil;
import cn.stock.market.domain.basic.entity.BtodayStock;
import cn.stock.market.domain.basic.entity.StockIpo;
import cn.stock.market.domain.basic.repository.BtodayStockRepository;
@@ -151,7 +152,7 @@ public class Scraper {
stockIpo.setApply(entry.getString("total_subs"));
stockIpo.setCreateDate(new Date());
stockIpo.setUpdateDate(new Date());
stockIpo.setSourceType("2");
stockIpo.setSourceType("3");
listStockIpoList.add(stockIpo);
}
@@ -173,17 +174,20 @@ public class Scraper {
// stockIpoRepository.saveAll(listStockIpoList);
List<String> nameList = Lists.transform(listStockIpoList, StockIpo::getStockName);
List<StockIpo> existStockIpoList = stockIpoRepository.findAll(QStockIpoPO.stockIpoPO.stockName.in(nameList));
List<String> existingStockNames = existStockIpoList.stream()
.map(StockIpo::getStockName)
List<String> scIdList = Lists.transform(listStockIpoList, StockIpo::getStockCode);
List<StockIpo> existStockIpoList = stockIpoRepository.findAll(QStockIpoPO.stockIpoPO.stockCode.in(scIdList));
List<String> existingStockScIds = existStockIpoList.stream()
.map(StockIpo::getStockCode)
.collect(Collectors.toList());
listStockIpoList = listStockIpoList.stream()
.filter(stockIpos -> !existingStockNames.contains(stockIpos.getStockName()))
.filter(stockIpos -> !existingStockScIds.contains(stockIpos.getStockCode()))
.collect(Collectors.toList());
//保存全部的新股
stockIpoRepository.saveAll(listStockIpoList);
if(CollectionUtil.isNotEmpty(listStockIpoList)){
stockIpoRepository.saveAll(listStockIpoList);
}
// 输出整个 JSON 数据
} else {