//package com.nq.ws; // //import com.fasterxml.jackson.core.JsonProcessingException; //import com.fasterxml.jackson.databind.ObjectMapper; //import com.google.gson.Gson; //import com.google.gson.reflect.TypeToken; //import com.nq.enums.EStockType; //import com.nq.pojo.StockRealTimeBean; //import com.nq.service.IMandatoryLiquidationService; //import com.nq.service.impl.MandatoryLiquidationService; //import com.nq.utils.ApplicationContextRegisterUtil; //import com.nq.utils.redis.RedisKeyUtil; //import lombok.extern.slf4j.Slf4j; //import org.apache.http.HttpResponse; //import org.apache.http.client.HttpClient; //import org.apache.http.client.entity.UrlEncodedFormEntity; //import org.apache.http.client.methods.HttpPost; //import org.apache.http.impl.client.HttpClients; //import org.apache.http.message.BasicNameValuePair; //import org.java_websocket.client.WebSocketClient; //import org.java_websocket.handshake.ServerHandshake; //import org.springframework.context.ApplicationContext; // //import java.io.IOException; //import java.lang.reflect.Type; //import java.net.URI; //import java.nio.charset.StandardCharsets; //import java.util.*; // //@Slf4j //public class WebsocketRunClient extends WebSocketClient { // // private EStockType eStockType; // public WebsocketRunClient(URI serverUri, // EStockType eStockType // ) { // super(serverUri); // this.eStockType = eStockType; // } // // private static HttpClient httpClient = HttpClients.createDefault(); // 单例化 HttpClient // // // private static HttpPost httpPost; // static { // httpPost = new HttpPost("http://127.0.0.1:8001/api/sendNotification"); // 初始化 HttpPost // } // // @Override // public void onOpen(ServerHandshake serverHandshake) { // send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes()); // } // // @Override // public void onMessage(String s) { // if(!s.equals("pong") && !s.equals("身份验证成功")){ // Map stringObjectMap = jsonToMap(s); // StockRealTimeBean stockRealTimeBean = new StockRealTimeBean(); // stockRealTimeBean.setPid(stringObjectMap.get("Id").toString()); // stockRealTimeBean.setLast(stringObjectMap.get("Last").toString()); // stockRealTimeBean.setBid(stringObjectMap.get("Bid").toString()); // stockRealTimeBean.setAsk(stringObjectMap.get("Ask").toString()); // stockRealTimeBean.setHigh(stringObjectMap.get("High").toString()); // stockRealTimeBean.setLow(stringObjectMap.get("Low").toString()); // stockRealTimeBean.setPc(stringObjectMap.get("Chg").toString()); // stockRealTimeBean.setPcp(stringObjectMap.get("ChgPct").toString()+"%"); // stockRealTimeBean.setTime(stringObjectMap.get("Time").toString()); // RedisKeyUtil.setCacheRealTimeStock(EStockType.IN,stockRealTimeBean); // ObjectMapper objectMapper = new ObjectMapper(); // try { // if(!stockRealTimeBean.getPcp().contains("-")){ // stockRealTimeBean.setPcp("+"+stringObjectMap.get("ChgPct").toString()+"%"); // } // String json = objectMapper.writeValueAsString(stockRealTimeBean); // sendLoca(json); // StockRealTimeBean stockDetailBean = new Gson().fromJson(s, StockRealTimeBean.class); // RedisKeyUtil.setCacheRealTimeStock(EStockType.IN,stockDetailBean); // } catch (JsonProcessingException e) { // throw new RuntimeException(e); // } // // } // } // // public static Map jsonToMap(String json) { // Gson gson = new Gson(); // Type type = new TypeToken>(){}.getType(); // return gson.fromJson(json, type); // } // // @Override // public void onClose(int i, String s, boolean b) { // log.info("websocket 印度股票 关闭"+1); // } // // @Override // public void onError(Exception e) { // log.info("websocket 错误"); // } // // public void sendLoca(String message) { // try { // // 准备 form-data 参数 // List 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); // } // } //}