优化代码

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