package com.lesingle.edu.service;

import com.lesingle.edu.dto.response.CoursePackageStatsResponse;

import java.util.Map;

/**
 * 课程包数据统计服务
 * 用于超管端「数据统计」页面及列表页数据统计列
 */
public interface CoursePackageStatsService {

    /**
     * 获取课程包详细统计数据（数据统计页面）
     *
     * @param coursePackageId 课程包 ID
     * @return 统计数据
     */
    CoursePackageStatsResponse getStats(Long coursePackageId);

    /**
     * 批量获取课程包概览统计（列表页数据统计列）
     *
     * @param coursePackageIds 课程包 ID 列表
     * @return packageId -> {usageCount, teacherCount, avgRating}
     */
    Map<Long, PackageStats> getBatchStats(java.util.List<Long> coursePackageIds);

    /**
     * 课程包概览统计
     */
    record PackageStats(int usageCount, int teacherCount, java.math.BigDecimal avgRating) {}
}
