diff --git a/src/main/java/cn/stock/market/domain/basic/service/StockService.java b/src/main/java/cn/stock/market/domain/basic/service/StockService.java index d6e76f9..acecf96 100644 --- a/src/main/java/cn/stock/market/domain/basic/service/StockService.java +++ b/src/main/java/cn/stock/market/domain/basic/service/StockService.java @@ -945,8 +945,10 @@ public class StockService { market.setName("BSESENSEX指数"); vo1.setIndexVo(market); - String type = "min"; - List list = InvestingApis.of().kline(StockCode.of(stockCode), type); + String period = "P1D"; + String interval = "PT1H"; + String type = "day"; + List list = InvestingApis.of().kIndex(stockCode,period,interval, type); if(list == null || list.size() == 0){ type = "day"; list = InvestingApis.of().kline(StockCode.of(stockCode), type); @@ -963,8 +965,10 @@ public class StockService { market.setName("NIFTY50指数"); vo2.setIndexVo(market); - String type = "min"; - List list = InvestingApis.of().kline(StockCode.of(stockCode), type); + String period = "P1D"; + String interval = "PT1H"; + String type = "day"; + List list = InvestingApis.of().kIndex(stockCode,period,interval, type); if(list == null || list.size() == 0){ type = "day"; list = InvestingApis.of().kline(StockCode.of(stockCode), type); diff --git a/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingApis.java b/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingApis.java index 0720def..0a74949 100644 --- a/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingApis.java +++ b/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingApis.java @@ -153,7 +153,6 @@ public class InvestingApis { "Time": "1698055197", "Url": "/equities/aditya-birla", "Volume": 3693615 - * @param httpClient * @param currPage * @param pageSize * @return @@ -252,7 +251,35 @@ public class InvestingApis { .collect(Collectors.toList()) ; } - + public List kIndex(String code,String period, String interval,String type) throws IOException { + if(code == null) { + throw new RuntimeException("找不到股票信息"); + } + Date nowDate = new Date(); + JSONObject json = InvestingInvokerApis.of().__IndiaIndex(code, period,interval); + return json + .getJSONArray("data") + .stream() + .map(val -> { + JSONArray _ar = (JSONArray) val; + JSONObject item = new JSONObject(); + item.put("date", _ar.get(0)); + item.put("open", _ar.get(1)); + item.put("high", _ar.get(2)); + item.put("low", _ar.get(3)); + item.put("close", _ar.get(4)); + item.put("volume", _ar.get(5)); + return item; + }).filter(val -> { + if("min".equalsIgnoreCase(type)) { + return DateUtil.isSameDay(nowDate, new Date(val.getLong("date"))); + } + return true; + }) + .collect(Collectors.toList()) + ; + } + public static InvestingApis of() { return new InvestingApis(); } diff --git a/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingInvokerApis.java b/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingInvokerApis.java index 57924da..06b5f2e 100644 --- a/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingInvokerApis.java +++ b/src/main/java/cn/stock/market/infrastructure/api/investing/InvestingInvokerApis.java @@ -201,6 +201,15 @@ public class InvestingInvokerApis { String body = httpClient().newCall(builder.build()).execute().body().string(); return JSON.parseObject(body); } + + public JSONObject __IndiaIndex(String code,String period, String interval)throws IOException { + String tmpl = "https://api.investing.com/api/financialdata/{}/historical/chart/?period={}&interval={}&pointscount=160"; + String url = StrFormatter.format(tmpl, code, period, interval); + Builder builder = builderGet(url); + + String body = httpClient().newCall(builder.build()).execute().body().string(); + return JSON.parseObject(body); + } public static InvestingInvokerApis of() { return new InvestingInvokerApis(); diff --git a/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java b/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java index fddb048..5802af8 100644 --- a/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java +++ b/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java @@ -71,4 +71,10 @@ public class BtodayStockPO { /** * 上次更新时间 */ Date lastUpdateTime; + + /** 是否锁定 0否 1是 */ + Integer isLock; + + /** 是否展示 0是 1否 */ + Integer isShow; } diff --git a/src/main/java/cn/stock/market/infrastructure/job/Scraper.java b/src/main/java/cn/stock/market/infrastructure/job/Scraper.java index fa3e607..18119ce 100644 --- a/src/main/java/cn/stock/market/infrastructure/job/Scraper.java +++ b/src/main/java/cn/stock/market/infrastructure/job/Scraper.java @@ -257,6 +257,8 @@ public class Scraper { btodayStock.setSelfUrl(url); btodayStock.setUrl(detailUrl); btodayStock.setLastUpdateTime(new Date()); + btodayStock.setIsLock(0); + btodayStock.setIsShow(0); btodayStockRepo.save(btodayStock); /* if (webInfo != null) {