package com.qmth.distributed.print.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.distributed.print.business.bean.dto.open.PaperConfig;
import com.qmth.distributed.print.business.bean.params.analyze.GradePaperDefineParam;
import com.qmth.distributed.print.business.bean.result.analyze.GradePaperDefineResult;
import com.qmth.distributed.print.business.entity.GradePaper;
import com.qmth.teachcloud.common.entity.SysUser;

import java.util.Map;

/**
 * <p>
 * 试卷基础信息表（赋分系数、试卷类型、满分、及格分等） 服务类
 * </p>
 *
 * @author wangliang
 * @since 2022-05-20
 */
public interface GradePaperService extends IService<GradePaper> {

    GradePaperDefineResult findGradePaperDefine(String paperNumber, String paperType, SysUser requestUser);

    /**
     * 新增分析试卷定义
     *
     * @param gradePaperDefineParam 试卷定义参数
     * @param requestUser      请求用户
     */
    void saveGradePaperDefine(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);

    /**
     * 新增基础分析试卷配置
     *
     * @param gradePaperDefineParam 试卷定义参数
     * @param requestUser      请求用户
     * @return 分析试卷id
     */
    Long saveGradePaper(GradePaperDefineParam gradePaperDefineParam, SysUser requestUser);

    PaperConfig findBySchoolIdAndPaperNumberAndPaperType(Long schoolId, String paperNumber, String paperType);
}
