package com.game.business.task;

import com.game.business.util.Common;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.websocket.Session;
import java.io.IOException;

@Component
public class WebSokcetTask {

    @Scheduled(cron = "0/5 * * * * ? ")
    public void liveDividedTask() throws IOException {

        if(Common.sessionMap.containsKey(Common.GAME_ONE_CODE)){
            Session session = Common.sessionMap.get(Common.GAME_ONE_CODE);
            if(!session.isOpen()){
                Common.sessionMap.remove(Common.GAME_ONE_CODE);
                session.close();
            }else{
                session.getBasicRemote().sendText("ping");
            }
        }

        if(Common.sessionMap.containsKey(Common.GAME_TWO_CODE)){
            Session session = Common.sessionMap.get(Common.GAME_TWO_CODE);
            if(!session.isOpen()){
                Common.sessionMap.remove(Common.GAME_TWO_CODE);
                session.close();
            }else{
                session.getBasicRemote().sendText("ping");
            }
        }

        if(Common.sessionMap.containsKey(Common.GAME_THREES_CODE)){
            Session session = Common.sessionMap.get(Common.GAME_THREES_CODE);
            if(!session.isOpen()){
                Common.sessionMap.remove(Common.GAME_THREES_CODE);
                session.close();
            }else{
                session.getBasicRemote().sendText("ping");
            }
        }

        if(Common.sessionMap.containsKey(Common.GAME_FOUR_CODE)){
            Session session = Common.sessionMap.get(Common.GAME_FOUR_CODE);
            if(!session.isOpen()){
                Common.sessionMap.remove(Common.GAME_FOUR_CODE);
                session.close();
            }else{
                session.getBasicRemote().sendText("ping");
            }
        }
    }
}
