package cn.iocoder.yudao.module.base.service;

import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoach;
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 驾校教练 Service 接口
 *
 * @author pqz
 */
public interface DlDriveSchoolCoachCourseService extends IService<DlDriveSchoolCoachCourse> {

    /**
     * 保存课程与教练关联关系
     *
     * @param courseId   课程id
     * @param courseName 课程名称
     * @param courseType 教练类型
     * @param coachList  教练集合
     * @author PQZ
     * @date 17:14 2025/2/7
     **/
    void    saveCoachCourse(String courseId, String courseName, String courseType, List<DlDriveSchoolCoachVO> coachList);

    /**
     * 通过课程id删除课程与教练关联关系
     *
     * @param courseId 课程id
     * @author PQZ
     * @date 17:35 2025/2/7
     **/
    void removeByCourseId(String courseId);

    /**
     * 通过课程id查询课程与教练关联关系
     *
     * @param courseId 课程id
     * @return java.util.List<cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse>
     * @author PQZ
     * @date 14:17 2025/2/8
     **/
    List<DlDriveSchoolCoachCourse> queryByCourseId(String courseId);

    List<DlDriveSchoolCoachCourse> getCoachByCourseIdAndSubject(String courseId, String subject);
}
