package com.zhentao.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhentao.entity.MatchmakerCourse;

import java.util.List;
import java.util.Map;

/**
 * 红娘课程服务接口
 */
public interface MatchmakerCourseService extends IService<MatchmakerCourse> {
    
    /**
     * 获取所有启用的红娘课程列表，可按分类类型筛选
     * 
     * @param categoryType 分类类型：all/basic/advanced/premium
     */
    List<MatchmakerCourse> getActiveCourses(String categoryType);
    
    /**
     * 根据分类获取红娘课程列表
     */
    List<MatchmakerCourse> getCoursesByCategory(String categoryName);
    
    /**
     * 根据ID获取红娘课程
     */
    MatchmakerCourse getCourseById(Integer id);
    
    /**
     * 积分兑换课程
     * 
     * @param makerId 红娘ID
     * @param courseId 课程ID
     * @param points 所需积分
     * @return 是否兑换成功
     */
    boolean exchangeCourse(Integer makerId, Integer courseId, Integer points);
    
    /**
     * 获取红娘已兑换的课程列表
     * 
     * @param makerId 红娘ID
     * @return 已兑换的课程列表
     */
    List<Map<String, Object>> getPurchasedCourses(Integer makerId);
    
    /**
     * 检查红娘是否已兑换某课程
     */
    boolean hasExchanged(Integer makerId, Integer courseId);
    
    /**
     * 获取所有课程分类
     */
    List<String> getAllCategories();
}
