package com.qmth.teachcloud.mark.service;

import com.qmth.teachcloud.common.entity.SysUser;
import com.qmth.teachcloud.mark.bean.answerbatch.AnswerDomain;
import com.qmth.teachcloud.mark.bean.answerbatch.AnswerSaveVo;
import com.qmth.teachcloud.mark.bean.answerbatch.BatchCreateDomain;
import com.qmth.teachcloud.mark.bean.answerbatch.BatchCreateVo;
import com.qmth.teachcloud.mark.bean.answerbatch.BatchFinishVo;
import com.qmth.teachcloud.mark.bean.scananswer.SheetUploadVo;
import com.qmth.teachcloud.mark.entity.ScanBatch;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.extension.service.IService;

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

	BatchCreateVo batchCreate(BatchCreateDomain domain,SysUser sysUser);

	BatchFinishVo batchFinish(ScanBatch scanBatch);

	AnswerSaveVo batchSave(AnswerDomain domain, ScanBatch scanBatch, SysUser user);

	void updateAssignedCount(Long id);

	void updateScanCount(Long id);

	Integer findStudentCountByBatch(Long batchId);

	SheetUploadVo sheetUpload(ScanBatch batch, String coursePaperId, String studentCode, Integer paperNumber,
			Integer pageIndex, MultipartFile file, String md5);

}
