package com.qmth.teachcloud.mark.service;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
import com.qmth.teachcloud.mark.bean.scananswer.SheetUploadVo;
import com.qmth.teachcloud.mark.bean.scanpackage.ScanPackageFindVo;
import com.qmth.teachcloud.mark.bean.scanpackage.ScanPackageQuery;
import com.qmth.teachcloud.mark.bean.scanpackage.ScanPackageVo;
import com.qmth.teachcloud.mark.entity.ScanPackage;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xf
 * @since 2023-09-22
 */
public interface ScanPackageService extends IService<ScanPackage> {

	int getCount(Long examId, String courseCode, String coursePaperId, MarkPaperStatus status, DataPermissionRule dpr);

    List<ScanPackage> listByExamIdAndCoursePaperIdAndPackageCode(Long examId, String coursePaperId, String packageCode);

	SheetUploadVo imageUpload(Long examId, String packageCode, Integer packageNo, MultipartFile file, String md5);

	IPage<ScanPackageVo> imagePage(ScanPackageQuery query);

	ScanPackageFindVo find(Long examId, String packageCode);

	List<String> imageGet(Long examId, String coursePaperId, String packageCode);

    void export(Long examId, String coursePaperId, HttpServletResponse response);
}
