From 0789083f63c2d80a41fcc08d88d3dc9b254337ae Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 10 Oct 2024 14:46:32 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/ws/WsClientConfig.java |   46 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/nq/ws/WsClientConfig.java b/src/main/java/com/nq/ws/WsClientConfig.java
index 61a2f51..c7c4f11 100644
--- a/src/main/java/com/nq/ws/WsClientConfig.java
+++ b/src/main/java/com/nq/ws/WsClientConfig.java
@@ -8,6 +8,7 @@
 import com.nq.service.impl.MandatoryLiquidationService;
 import com.nq.utils.ApplicationContextRegisterUtil;
 import com.nq.utils.PropertiesUtil;
+import com.nq.utils.redis.RedisKeyUtil;
 import com.nq.ws.client.IO;
 import com.nq.ws.client.Socket;
 import io.socket.emitter.Emitter;
@@ -35,6 +36,9 @@
 import java.util.List;
 import java.util.Map;
 
+/**
+ * soket-io
+ */
 @Slf4j
 @Configuration
 public class WsClientConfig {
@@ -44,6 +48,13 @@
     private static final String ROOM_ID = "14";
     private static Socket socket;
 
+    private static HttpClient httpClient = HttpClients.createDefault(); // 单例化 HttpClient
+
+
+    private static HttpPost httpPost;
+    static {
+        httpPost = new HttpPost("http://127.0.0.1:8001/api/sendNotification"); // 初始化 HttpPost
+    }
     @Bean
     public void websocketRunClientMap() {
         connectToServer();
@@ -71,18 +82,9 @@
         socket.on("marketData", new Emitter.Listener() {
             @Override
             public void call(Object... args) {
-                    Map<String, Object> map = jsonToMap(args[0].toString());
-                    if(map.get("pid").equals("00000001")){
-                        System.out.println("接收时间:"  +  new SimpleDateFormat("HH:mm:ss").format(new  Date())  +  "  "  +  args[0].toString());
-                    }
-                try {
-                    ApplicationContext act = ApplicationContextRegisterUtil.getApplicationContext();
-                    MandatoryLiquidationService liquidationService = (MandatoryLiquidationService) act.getBean(IMandatoryLiquidationService.class);
-                    StockRealTimeBean stockDetailBean =  new Gson().fromJson(args[0].toString(), StockRealTimeBean.class);
-                    liquidationService.RealTimeDataProcess(EStockType.IN,stockDetailBean);
-                }catch (Exception e){
-                    log.error("socket数据存入缓存错误:", e.getMessage());
-                }
+                StockRealTimeBean stockDetailBean =  new Gson().fromJson(args[0].toString(), StockRealTimeBean.class);
+                RedisKeyUtil.setCacheRealTimeStock(EStockType.IN,stockDetailBean);
+                send(args[0].toString());
             }
         });
 
@@ -144,4 +146,24 @@
             }
         }
     }
+
+    private static void send(String message) {
+        try {
+            // 准备 form-data 参数
+            List<BasicNameValuePair> params = new ArrayList<>();
+            params.add(new BasicNameValuePair("message", message));
+
+            // 设置编码格式为 UTF-8
+            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, StandardCharsets.UTF_8);
+            httpPost.setEntity(entity); // 设置 HttpPost 对象的参数
+
+            // 发送请求
+            HttpResponse response = httpClient.execute(httpPost);
+
+            // 处理响应
+            int statusCode = response.getStatusLine().getStatusCode();
+        } catch (IOException e) {
+            log.error("Http 请求错误", e);
+        }
+    }
 }

--
Gitblit v1.9.3