package com.qqchen.deploy.backend.system.service;

import com.qqchen.deploy.backend.system.model.query.OnlineUserQuery;
import com.qqchen.deploy.backend.system.model.vo.OnlineStatisticsVO;
import com.qqchen.deploy.backend.system.model.vo.OnlineUserVO;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 在线用户服务接口
 * 
 * @author qqchen
 * @date 2025-11-20
 */
public interface IOnlineUserService {
    
    /**
     * 获取在线用户列表（分页）
     * 
     * @param query 查询参数
     * @return 在线用户分页列表
     */
    Page<OnlineUserVO> getOnlineUsers(OnlineUserQuery query);
    
    /**
     * 获取在线用户列表（不分页）
     * 
     * @return 所有在线用户
     */
    List<OnlineUserVO> getAllOnlineUsers();
    
    /**
     * 获取在线用户统计
     * 
     * @return 统计信息
     */
    OnlineStatisticsVO getStatistics();
    
    /**
     * 强制用户下线
     * 
     * @param userId 用户ID
     */
    void kickUser(Long userId);
}
