peter
2025-12-30 0c74d36f29e8279d9061d57466b3f488a4e1b89f
src/main/java/com/nq/utils/stock/sina/SinaStockApi.java
@@ -40,8 +40,9 @@
//            System.out.println(sina_url + stockGid);
//            sina_result = HttpClientRequest.doGet(sina_url + stockGid);
//            System.out.println("请求返回:"+sina_result);
            System.out.println("http://111.170.140.248:7001/crypto/getSinaStock?stockGid=" + stockGid);
            sina_result = HttpClientRequest.doGet("http://111.170.140.248:7001/crypto/getSinaStock?stockGid=" + stockGid);
            System.out.println(PropertiesUtil.getProperty("sina.data.proxy.list.url") + stockGid);
            sina_result = HttpClientRequest.doGet(PropertiesUtil.getProperty("sina.data.proxy.list.url") + stockGid);
            System.out.println("请求返回:"+sina_result);
//            sina_result = "var hq_str_sz300270=\"中威电子,0.000,11.710,0.000,0.000,0.000,0.000,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,0,0.000,2025-12-03,09:10:06,00\";";
        } catch (Exception e) {
@@ -49,6 +50,8 @@
        }
        return sina_result.substring(sina_result.indexOf("=") + 2);
    }
    /**
@@ -115,6 +118,34 @@
            stockListVO.setPreclose_px(hqarr[2]);
            stockListVO.setOpen_px(hqarr[1]);
        }
        return stockListVO;
    }
    public static StockListVO assembleStockListVOHk(String sinaResult) {
        StockListVO stockListVO = new StockListVO();
        String[] hqarr = sinaResult.split(",");
        if (hqarr.length > 1) {
            stockListVO.setName(hqarr[1]);
            stockListVO.setNowPrice(hqarr[6]);
            stockListVO.setHcrate(new BigDecimal(hqarr[8]));
            stockListVO.setToday_max(hqarr[4]);
            stockListVO.setToday_min(hqarr[5]);
            stockListVO.setBusiness_amount(hqarr[11]);
            stockListVO.setBusiness_balance(hqarr[12]);
            stockListVO.setPreclose_px(hqarr[3]);
            stockListVO.setOpen_px(hqarr[2]);
        }
        return stockListVO;
@@ -254,53 +285,28 @@
    }
    //hk  数据转换
    public static StockVO otherStockVO(String Result) {
        StockVO stockVO = new StockVO();
        //判断是否是
        JSONObject jsonObject = JSONObject.parseObject(Result);
        stockVO.setName(jsonObject.getString("f14"));
        String[] fields = Result.split(",");
        StockVO stock = new StockVO();
        stock.setName(fields[1]); // 中文名称
        stock.setCode(""); // 需要从其他地方获取
        stock.setSpell(fields[0]); // 英文名称
        stock.setGid(""); // 需要从其他地方获取
        stock.setNowPrice(fields[6]); // 当前价
        stock.setHcrate(new BigDecimal(fields[8])); // 涨跌幅
        stock.setToday_max(fields[4]); // 最高价
        stock.setToday_min(fields[5]); // 最低价
        stock.setBusiness_balance(fields[11]); // 成交量
        stock.setBusiness_amount(fields[12]); // 成交额
        stock.setPreclose_px(fields[3]); // 昨收价
        stock.setOpen_px(fields[2]); // 开盘价
        stock.setType("hk"); // 港股标识
        stockVO.setNowPrice(!Objects.equals(jsonObject.getString("f2"), "-") ? jsonObject.getString("f2") : "0");
        // 买卖盘数据(港股只有1档买卖盘数据)
        stock.setBuy1(fields[9]); // 买一价
        stock.setSell1(fields[10]); // 卖一价
        // 其他买卖盘数据在港股中不可用,保持默认值
        stockVO.setHcrate(new BigDecimal(!Objects.equals(jsonObject.getString("f3"), "-") ? jsonObject.getString("f3"): "0"));
        stockVO.setToday_max(!Objects.equals(jsonObject.getString("f15"), "-") ? jsonObject.getString("f15") : "0");
        stockVO.setToday_min(!Objects.equals(jsonObject.getString("f16"), "-") ? jsonObject.getString("f16") : "0");
        stockVO.setBusiness_amount(!Objects.equals(jsonObject.getString("f6"), "-") ? jsonObject.getString("f6") : "0");
        stockVO.setBusiness_balance(!Objects.equals(jsonObject.getString("f5"), "-") ? jsonObject.getString("f5") : "0");
        stockVO.setPreclose_px(!Objects.equals(jsonObject.getString("f18"), "-") ? jsonObject.getString("f18") : "0");
        stockVO.setOpen_px(!Objects.equals(jsonObject.getString("f17"), "-") ? jsonObject.getString("f17") : "0");
        stockVO.setType(jsonObject.getString("f13"));
        String buy = "0";
        stockVO.setBuy1(buy);
        stockVO.setBuy2(buy);
        stockVO.setBuy3(buy);
        stockVO.setBuy4(buy);
        stockVO.setBuy5(buy);
        stockVO.setSell1(buy);
        stockVO.setSell2(buy);
        stockVO.setSell3(buy);
        stockVO.setSell4(buy);
        stockVO.setSell5(buy);
        stockVO.setBuy1_num(buy);
        stockVO.setBuy2_num(buy);
        stockVO.setBuy3_num(buy);
        stockVO.setBuy4_num(buy);
        stockVO.setBuy5_num(buy);
        stockVO.setSell1_num(buy);
        stockVO.setSell2_num(buy);
        stockVO.setSell3_num(buy);
        stockVO.setSell4_num(buy);
        stockVO.setSell5_num(buy);
        return stockVO;
        return stock;
    }
    //us  数据转换
    public static StockUsVO otherUsStockVO(String Result) {