zyy
2025-07-24 ec72fc1827d3e46a99d302dd3c9ca61411c70943
src/main/java/com/nq/utils/redis/RedisKeyUtil.java
@@ -37,8 +37,8 @@
    /**
     * 获取股票数据
     * */
    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);
    }
@@ -60,7 +60,7 @@
            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());
@@ -89,9 +89,11 @@
        }
    }
    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);
@@ -143,6 +145,15 @@
       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);
    }
}