zj
2025-11-05 9c6296d07a668b15b9794709172e28ce3d9603e2
src/main/java/com/nq/ws/WebsocketRunClient.java
@@ -43,21 +43,21 @@
    private static HttpPost httpPost;
    static {
        httpPost = new HttpPost("http://127.0.0.1:8001/api/sendNotification"); // 初始化 HttpPost
        httpPost = new HttpPost("http://127.0.0.1:8008/api/sendNotification"); // 初始化 HttpPost
    }
    @Override
    public void onOpen(ServerHandshake serverHandshake) {
        send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes());
//        Timer heartbeatTimer;
//        // 启动心跳定时器
//        heartbeatTimer = new Timer();
//        heartbeatTimer.schedule(new TimerTask() {
//            @Override
//            public void run() {
//                send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes());
//            }
//        }, 0, 3000); // 每3秒发送一次心跳消息
        Timer heartbeatTimer;
        // 启动心跳定时器
        heartbeatTimer = new Timer();
        heartbeatTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes());
            }
        }, 0, 3000); // 每3秒发送一次心跳消息
    }
    @Override
@@ -74,7 +74,11 @@
            stockRealTimeBean.setPc(stringObjectMap.get("Chg").toString());
            stockRealTimeBean.setPcp(stringObjectMap.get("ChgPct").toString()+"%");
            stockRealTimeBean.setTime(stringObjectMap.get("Time").toString());
            RedisKeyUtil.setCacheRealTimeStock(EStockType.IN,stockRealTimeBean);
            stockRealTimeBean.setOpen(stringObjectMap.get("Open"));
            stockRealTimeBean.setPrevClose(stringObjectMap.get("PrevClose"));
            stockRealTimeBean.setSymbol(stringObjectMap.get("Symbol"));
            RedisKeyUtil.setCacheRealTimeStock(EStockType.US,stockRealTimeBean);
            ObjectMapper objectMapper = new ObjectMapper();
            try {
                if(!stockRealTimeBean.getPcp().contains("-")){
@@ -82,10 +86,14 @@
                }
                String json = objectMapper.writeValueAsString(stockRealTimeBean);
                sendLoca(json);
                StockRealTimeBean stockDetailBean =  new Gson().fromJson(s, StockRealTimeBean.class);
                RedisKeyUtil.setCacheRealTimeStock(EStockType.US,stockDetailBean);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        }else{
            log.error("websocket  消息错误:"+s);
        }
    }
@@ -124,4 +132,4 @@
            log.error("Http 请求错误", e);
        }
    }
}
}