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())); + } + } } }