package com.qmth.jkserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.jkserver.dto.ExamKwProgressDto;
import com.qmth.jkserver.dto.KWObjectDto;
import com.qmth.jkserver.model.*;
import com.qmth.jkserver.params.ExamKwProgressParams;
import com.qmth.jkserver.params.ExamPaperUncoilingParams;
import org.springframework.data.domain.Page;

import java.io.File;
import java.util.List;

/**
 * 考务
 * 文件 以及数据 存储 查询
 *
 * @author tianjun
 */
public interface KWService extends IService<KwFile> {

    public void saveKwObejct(KWObjectDto kwObjectDto);

//	public KWObjectDto findKwObjectByExamCode(String examCode);

    public KwFile findKwFileByExamCode(String examCode);

    public ExamKwProgress saveKwProgress(ExamKwProgress examKwProgress);

    public void removeExamPaperUncoiling(String examCode, String batchId);

    public void removeExamPaperUncoiling(String id);

    public ExamPaperUncoiling getPaperPassword(String examCode, String batchId);

    public String findBatchName(String examCode, String batchId);

    public List<ExamPaperUncoiling> queryExamPaperUncoiling(ExamPaperUncoilingParams params);

    public ExamPaperUncoiling save(ExamPaperUncoiling examPaperUncoiling) throws Exception;

    public Page<ExamKwProgressDto> queryKwProgress(ExamKwProgressParams params);

    //导入考情监控数据
    public void saveRoomMonitorTempInfo(List<ExamRoomAddressTemp> addressTemps, List<StudentInfoTemp> studentInfos);

    //导入考情监控数据
    public void saveRoomMonitorInfo(String examCode, String attachmentId);

    /**
     * zip解压缩
     *
     * @param file
     * @param password
     * @return
     * @throws Exception
     */
    public List<File> unZipByPasswordByDest(File file, String password) throws Exception;
}
