package com.yida.data.school.smart.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.common.core.common.ResultBean;
import com.yida.data.common.core.entity.CurrentUser;
import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep;
import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass;
import com.yida.data.school.dto.smart.AddUploadFileStepDTO;
import com.yida.data.school.dto.smart.ClassFixImportDTO;
import com.yida.data.school.dto.smart.ClassImportDTO;
import com.yida.data.school.vo.smart.ClassFixImportVO;
import com.yida.data.school.vo.smart.ClassImportVO;
import com.yida.data.school.vo.smart.GuideStepColVO;
import org.ehcache.impl.internal.concurrent.ConcurrentHashMap;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 智慧迎新班级预分表Service接口
 */
public interface EduSmartWelcomeGuideStepClassService extends IService<EduSmartWelcomeGuideStepClass> {

    /**
     * 下载导入预选班级模板
     *
     * @param response
     */
    void downloadClassTemplate(HttpServletResponse response);


    /**
     * 下载导入预选班级模板
     *
     * @param response
     */
    void downloadClassFixTemplate(HttpServletResponse response);

    /**
     * 导入班级预分信息，返回List对象
     *
     * @param file
     * @return
     */
    @Async
    void importClassData(MultipartFile file, String importKey, CurrentUser currentUser);


    /**
     * 导入固定班级学生信息，返回List对象 Fix   * @param file
     *
     * @return
     */
    ClassFixImportVO importClassFixData(MultipartFile file, CurrentUser currentUser, Long guideId);

    /**
     * 分配班级
     *
     * @param guideId
     * @param stepId
     * @param rosterId
     */
    void classBanding(Long guideId, Long stepId, Long rosterId);

}
