| | |
| | | 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; |
| | |
| | | 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 |