package com.seer.teach.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.seer.teach.admin.request.TeachMethodsReq;
import com.seer.teach.admin.response.TeachMethodsResp;

import java.util.List;

/**
 * <p>
 * 教学方法管理服务接口
 * </p>
 *
 * @author Lingma
 * @since 2025-12-04
 */
public interface AdminTeachMethodsService {

    /**
     * 分页查询教学方法列表
     *
     * @param pageNo   页码
     * @param pageSize 每页数量
     * @return 教学方法分页数据
     */
    IPage<TeachMethodsResp> pageTeachMethods(Integer pageNo, Integer pageSize);

    /**
     * 获取所有教学方法列表
     *
     * @param methodName 教学方法名称
     * @return 教学方法列表
     */
    List<TeachMethodsResp> getTeachMethodList(String methodName);

    /**
     * 根据ID获取教学方法详情
     *
     * @param id 教学方法ID
     * @return 教学方法实体
     */
    TeachMethodsResp getTeachMethodById(Integer id);

    /**
     * 添加教学方法
     *
     * @param req 教学方法信息
     * @return 是否添加成功
     */
    boolean addTeachMethod(TeachMethodsReq req);

    /**
     * 更新教学方法信息
     *
     * @param id  教学方法ID
     * @param req 教学方法信息
     * @return 是否更新成功
     */
    boolean updateTeachMethod(Integer id, TeachMethodsReq req);

    /**
     * 删除教学方法
     *
     * @param id 教学方法ID
     * @return 是否删除成功
     */
    boolean deleteTeachMethod(Integer id);
}