From ae1f1c3d46bd46f86602f8fac50d804f41a85b3d Mon Sep 17 00:00:00 2001 From: Achilles Date: Sat, 6 Jan 2024 17:11:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/stock/market/MoneyStockSuggestDTO.java | 2 +- .../stock/market/web/MoneyApiController.java | 30 +++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/main/java/cn/stock/market/MoneyStockSuggestDTO.java b/src/main/java/cn/stock/market/MoneyStockSuggestDTO.java index 5298486..fcf019c 100644 --- a/src/main/java/cn/stock/market/MoneyStockSuggestDTO.java +++ b/src/main/java/cn/stock/market/MoneyStockSuggestDTO.java @@ -18,7 +18,7 @@ public class MoneyStockSuggestDTO { private String prevClosePrice; private String change; private String changePercent; - + private String dispId; private String scId; diff --git a/src/main/java/cn/stock/market/web/MoneyApiController.java b/src/main/java/cn/stock/market/web/MoneyApiController.java index 76e06b1..1c3558c 100644 --- a/src/main/java/cn/stock/market/web/MoneyApiController.java +++ b/src/main/java/cn/stock/market/web/MoneyApiController.java @@ -242,7 +242,7 @@ public class MoneyApiController { String stockUrl = company_a.attr("href"); String stockName = company_a.text(); dto.setStockName(stockName); - //dto.setStockUrl(stockUrl); + dto.setStockUrl(stockUrl); } String highPrice = getTextOrEmpty(doc.select("#mc_content > section > section > div.clearfix.stat_container > div.columnst.FR.wbg.brdwht > div > div > div.bsr_table.hist_tbl_hm > table > tbody > tr:nth-child(" + i + ") > td:nth-child(2)").first()); @@ -287,7 +287,7 @@ public class MoneyApiController { String stockUrl = company_a.attr("href"); String stockName = company_a.text(); dto.setStockName(stockName); - // dto.setStockUrl(stockUrl); + dto.setStockUrl(stockUrl); } String highPrice = getTextOrEmpty(doc.select("#mc_content > section > section > div.clearfix.stat_container > div.columnst.FR.wbg.brdwht > div > div > div.bsr_table.hist_tbl_hm > table > tbody > tr:nth-child(" + i + ") > td:nth-child(2)").first()); @@ -331,7 +331,7 @@ public class MoneyApiController { if (company_a != null) { String stockUrl = company_a.attr("href"); String stockName = company_a.text(); - //dto.setStockUrl(stockUrl); + dto.setStockUrl(stockUrl); dto.setStockName(stockName); } @@ -375,7 +375,7 @@ public class MoneyApiController { if (company_a != null) { String stockUrl = company_a.attr("href"); String stockName = company_a.text(); - // dto.setStockUrl(stockUrl); + dto.setStockUrl(stockUrl); dto.setStockName(stockName); } @@ -419,7 +419,7 @@ public class MoneyApiController { String stockUrl = company_a.attr("href"); String stockName = company_a.text(); dto.setStockName(stockName); - //dto.setStockUrl(stockUrl); + dto.setStockUrl(stockUrl); } @@ -508,6 +508,7 @@ public class MoneyApiController { moneyStockSuggestDTOS = bseTopLoser(); } if(CollectionUtils.isNotEmpty(moneyStockSuggestDTOS)){ + moneyStockSuggestDTOS.stream().forEach(f->f.setDispId(extractLastSegment(f.getStockUrl()))); List selfUlrList = moneyStockSuggestDTOS.stream().map(MoneyStockSuggestDTO::getStockName).collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(selfUlrList)){ List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.in(selfUlrList)); @@ -515,6 +516,15 @@ public class MoneyApiController { moneyStockSuggestDTOS.stream().filter(f->all.stream().anyMatch(s->s.getStockName().equals(f.getStockName()))) .forEach(f->f.setScId(all.stream().filter(s->s.getStockName().equals(f.getStockName())).findFirst().orElse(null).getMoneyScId())); } + List noScIdList = moneyStockSuggestDTOS.stream().filter(f->StringUtils.isBlank(f.getScId())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(noScIdList)){ + List dispIdList = noScIdList.stream().map(MoneyStockSuggestDTO::getDispId).collect(Collectors.toList()); + List all1 = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.selfDispId.in(dispIdList)); + if(CollectionUtils.isNotEmpty(all1)){ + moneyStockSuggestDTOS.stream().filter(f->all1.stream().anyMatch(s->s.getSelfDispId().equals(f.getDispId()))) + .forEach(f->f.setScId(all.stream().filter(s->s.getSelfDispId().equals(f.getDispId())).findFirst().orElse(null).getMoneyScId())); + } + } } } @@ -542,6 +552,7 @@ public class MoneyApiController { moneyStockSuggestDTOS = bseActives(); } if(CollectionUtils.isNotEmpty(moneyStockSuggestDTOS)){ + moneyStockSuggestDTOS.stream().forEach(f->f.setDispId(extractLastSegment(f.getStockUrl()))); List selfUlrList = moneyStockSuggestDTOS.stream().map(MoneyStockSuggestDTO::getStockName).collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(selfUlrList)){ List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.in(selfUlrList)); @@ -549,6 +560,15 @@ public class MoneyApiController { moneyStockSuggestDTOS.stream().filter(f->all.stream().anyMatch(s->s.getStockName().equals(f.getStockName()))) .forEach(f->f.setScId(all.stream().filter(s->s.getStockName().equals(f.getStockName())).findFirst().orElse(null).getMoneyScId())); } + List noScIdList = moneyStockSuggestDTOS.stream().filter(f->StringUtils.isBlank(f.getScId())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(noScIdList)){ + List dispIdList = noScIdList.stream().map(MoneyStockSuggestDTO::getDispId).collect(Collectors.toList()); + List all1 = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.selfDispId.in(dispIdList)); + if(CollectionUtils.isNotEmpty(all1)){ + moneyStockSuggestDTOS.stream().filter(f->all1.stream().anyMatch(s->s.getSelfDispId().equals(f.getDispId()))) + .forEach(f->f.setScId(all.stream().filter(s->s.getSelfDispId().equals(f.getDispId())).findFirst().orElse(null).getMoneyScId())); + } + } } }