package com.lesingle.edu.service;

import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.time.LocalDate;

/**
 * 学校端 - 数据导出服务
 */
public interface SchoolExportService {

    /**
     * 导出授课记录
     *
     * @param tenantId  租户 ID
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @param response  HTTP 响应
     * @throws IOException IO 异常
     */
    void exportLessons(Long tenantId, LocalDate startDate, LocalDate endDate, HttpServletResponse response) throws IOException;

    /**
     * 导出教师绩效统计
     *
     * @param tenantId  租户 ID
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @param response  HTTP 响应
     * @throws IOException IO 异常
     */
    void exportTeacherStats(Long tenantId, LocalDate startDate, LocalDate endDate, HttpServletResponse response) throws IOException;

    /**
     * 导出学生统计
     *
     * @param tenantId 租户 ID
     * @param classId  班级 ID（可选）
     * @param response HTTP 响应
     * @throws IOException IO 异常
     */
    void exportStudentStats(Long tenantId, Long classId, HttpServletResponse response) throws IOException;
}
