1
zj
2024-07-11 d00e00aa93bce9d52e2e3a9fa2f8057184f4dd75
src/main/java/com/nq/ws/WebsocketRunClient.java
@@ -1,6 +1,7 @@
package com.nq.ws;
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;
@@ -12,35 +13,48 @@
import org.java_websocket.handshake.ServerHandshake;
import org.springframework.context.ApplicationContext;
import java.lang.reflect.Type;
import java.net.URI;
import java.util.Map;
@Slf4j
public class WebsocketRunClient  extends WebSocketClient {
    public WebsocketRunClient(URI serverUri) {
    private EStockType eStockType;
    public WebsocketRunClient(URI serverUri,
    EStockType eStockType
    ) {
        super(serverUri);
        this.eStockType = eStockType;
    }
    @Override
    public void onOpen(ServerHandshake serverHandshake) {
        send(("key:"+ EStockType.MAS.getStockKey()+":"+EStockType.MAS.getContryId()).getBytes());
        send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes());
    }
    @Override
    public void onMessage(String s) {
//        Map<String, Object> map = jsonToMap(s);
        try {
            ApplicationContext act = ApplicationContextRegisterUtil.getApplicationContext();
            MandatoryLiquidationService liquidationService = (MandatoryLiquidationService) act.getBean(IMandatoryLiquidationService.class);
            StockRealTimeBean stockDetailBean =  new Gson().fromJson(s, StockRealTimeBean.class);
            liquidationService.RealTimeDataProcess(EStockType.MAS,stockDetailBean);
            liquidationService.RealTimeDataProcess(eStockType,stockDetailBean);
        }catch (Exception e){
        }
    }
    public static Map<String, Object> jsonToMap(String json) {
        Gson gson = new Gson();
        Type type = new TypeToken<Map<String, Object>>(){}.getType();
        return gson.fromJson(json, type);
    }
    @Override
    public void onClose(int i, String s, boolean b) {
        log.info("websocket  马来西亚  关闭"+1);
        log.info("websocket  日股  关闭"+1);
    }
    @Override