| | |
| | | /** |
| | | * 获取股票数据 |
| | | * */ |
| | | public static DataStockBean getCacheBaseStock(Stock stock){ |
| | | String cacheBaseData = RedisShardedPoolUtils.get(RedisKeyConstant.RK_BASE_STOCK+":"+stock.getStockType()+":"+stock.getStockCode()); |
| | | public static DataStockBean getCacheBaseStock(String stockType, String stockCode){ |
| | | String cacheBaseData = RedisShardedPoolUtils.get(RedisKeyConstant.RK_BASE_STOCK+":"+stockType+":"+stockCode); |
| | | return new Gson().fromJson(cacheBaseData, DataStockBean.class); |
| | | } |
| | | |
| | |
| | | stockRealTimeBean = new Gson().fromJson(cacheBaseData, StockRealTimeBean.class); |
| | | } |
| | | if(stockRealTimeBean == null){ |
| | | String s = doPost(stock.getStockCode()); |
| | | String s = doPost(stock.getStockCode(), stock.getStockType()); |
| | | Map<String, Object> stringObjectMap = jsonToMap(s); |
| | | stockRealTimeBean = new StockRealTimeBean(); |
| | | stockRealTimeBean.setPcp(stringObjectMap.get("ChgPct").toString()); |
| | |
| | | stockRealTimeBean.setLow(stringObjectMap.get("Low").toString()); |
| | | stockRealTimeBean.setBid(stringObjectMap.get("Id").toString()); |
| | | stockRealTimeBean.setPc(stringObjectMap.get("PrevClose").toString()); |
| | | stockRealTimeBean.setAsk(stringObjectMap.get("Ask").toString()); |
| | | if (stringObjectMap.get("Ask") != null) { |
| | | stockRealTimeBean.setAsk(stringObjectMap.get("Ask").toString()); |
| | | } |
| | | } |
| | | stockRealTimeBean.setPcp(stockRealTimeBean.getPcp().replace("%","")); |
| | | return stockRealTimeBean; |
| | |
| | | } |
| | | } |
| | | |
| | | public static String doPost(String pid) { |
| | | public static String doPost(String pid, String stockType) { |
| | | EStockType eStockType = EStockType.getEStockTypeByCode(stockType); |
| | | // 从配置中获取 API URL,并拼接 key |
| | | String apiUrl = PropertiesUtil.getProperty("JS_IN_HTTP_URL") + "stock?key=" + PropertiesUtil.getProperty("JS_IN_KEY"); |
| | | //String apiUrl = PropertiesUtil.getProperty("JS_IN_HTTP_URL") + "stock?key=" + PropertiesUtil.getProperty("JS_IN_KEY"); |
| | | String apiUrl = eStockType.getStockUrl() + "stock?key=" + eStockType.getStockKey(); |
| | | String result = null; |
| | | try { |
| | | URL url = new URL(apiUrl); |
| | |
| | | return JSONObject.parseObject(companiesInfo); |
| | | } |
| | | |
| | | /** |
| | | * 缓存K线数据源到redis |
| | | * */ |
| | | public static void setCaCheStockKData(String stockType, String stockCode, Object kData){ |
| | | RedisShardedPoolUtils.set(RedisKeyConstant.RK_STOCK_KDATA+":"+stockType+":"+stockCode, kData.toString()); |
| | | } |
| | | |
| | | public static Object getCaCheStockKData(String stockType, String stockCode){ |
| | | return RedisShardedPoolUtils.get(RedisKeyConstant.RK_STOCK_KDATA+":"+stockType+":"+stockCode); |
| | | } |
| | | |
| | | } |