package com.gyee.frame.common.websocket;

import com.gyee.frame.common.quartz.QuartzSchedulerUtil;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.messaging.SessionDisconnectEvent;

import javax.annotation.Resource;

@Component
public class WebSocketCache  extends QuartzSchedulerUtil.SocketTaskUtil {

    @Resource
    private WebSocketLoginOutEvent webSocketLoginOutEvent;
//    public static ConcurrentHashMap<String, CopyOnWriteArraySet<String>> websocketcacheMap = new ConcurrentHashMap();
//
//    @EventListener(SessionConnectEvent.class)
//    public void onSessionConnectEvent(SessionConnectEvent event) {
//
//        //获取Session连接信息
//        StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage());
//
//        sha
//        List<String> topics=sha.getNativeHeader("topic");
//        //获取SessionId
//        String authToken = sha.getSessionId();
//
//       if(StringUtils.isNotEmpty(topics))
//       {
//
//           String topic=topics.get(0);
//
//           if(websocketcacheMap.containsKey(topic))
//           {
//               CopyOnWriteArraySet<String> set=websocketcacheMap.get(topic);
//               set.add(authToken);
//               websocketcacheMap.put(topic,set);
//           }else
//           {
//               CopyOnWriteArraySet<String> set= new CopyOnWriteArraySet<String>();
//               set.add(authToken);
//               websocketcacheMap.put(topic,set);
//           }
//           if(InitialRunner.jobsmap.containsKey(topic))
//           {
//               this.restartJob(topic);
//           }
//       }
//
//
//    }
//
//
    @EventListener(SessionDisconnectEvent.class)
    public void onDisconnectEvent(SessionDisconnectEvent event) {
//        //获取Session连接信息
//        StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage());
//        String authToken=String.valueOf(sha.getHeader("authToken"));
//
//        webSocketLoginOutEvent.loginOut(authToken);


    }

}
