package jnpf.cultivate.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.base.ActionResult;
import jnpf.model.cultivate.dto.course.FtbCultivateCourseTypeDTO;
import jnpf.model.cultivate.dto.course.FtbCultivateCourseTypeUpdateDTO;
import jnpf.model.cultivate.po.course.FtbCultivateCourseType;
import jnpf.model.cultivate.vo.course.web.FtbCultivateCourseTypeVO;

import java.util.List;

public interface FtbCultivateCourseTypeService extends IService<FtbCultivateCourseType> {

    /**
     * 添加课程类型
     *
     * @param ftbCultivateCourseDTO 课程类型参数
     */
    void add(FtbCultivateCourseTypeDTO ftbCultivateCourseDTO);

    /**
     * 删除操作
     *
     * @param id 课程id
     * @return 删除操作的结果
     */
    ActionResult delete(String id);

    /**
     * 更新课程类型信息
     *
     * @param ftbCultivateCourseTypeDTO 课程类型参数
     */
    void updateInfo(FtbCultivateCourseTypeUpdateDTO ftbCultivateCourseTypeDTO);

    /**
     * 分页查询课程类型列表
     *
     * @param page 分页对象，用于承载查询条件及分页结果
     * @return 分页查询结果，包含查询到课程类型列表及分页信息
     */
    Page<FtbCultivateCourseTypeVO> pageList(Page<FtbCultivateCourseTypeVO> page);

    /**
     * 获取所有课程类型
     *
     * @return 所有课程类型的列表
     */
    List<FtbCultivateCourseTypeVO> getAll();
}
