package jnpf.cultivate.v2.service;

import jnpf.model.cultivate.v2.exam.req.SkillDto;
import jnpf.model.cultivate.v2.exam.vo.SkillUploadInfoVo;
import jnpf.model.cultivate.v2.exam.vo.SkillVo;
import jnpf.model.cultivate.v2.label.vo.FtbCultivateLabelVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 技能点服务[v2]
 *
 * @author yanwenfu
 * @create 2026-02-28
 */
public interface V2TeachingSkillService {

    /**
     * 技能点 - 导入
     * @param file 导入文件
     * @return jnpf.model.cultivate.v2.exam.vo.SkillUploadInfoVo
     */
    SkillUploadInfoVo teachingSkillImport(MultipartFile file) throws Exception;

    /**
     * 技能点 - 模板下载
     * @return java.lang.String
     */
    String templateDownload() throws Exception;

    /**
     * 根据分类查询技能点[下拉]
     * @param skillDto 技能点dto
     * @return java.util.List<jnpf.model.cultivate.v2.exam.vo.SkillVo>
     */
    List<SkillVo> getDownSkillList(SkillDto skillDto);

    /**
     * 查询分类列表[下拉]
     * @param searchSource 类型(0: 自定义, 1: 系统默认, null: 全部)
     * @return java.util.List<jnpf.model.cultivate.v2.label.vo.FtbCultivateLabelVo>
     */
    List<FtbCultivateLabelVo> getDownCategoryList(Integer searchSource);
}
