package com.xjrsoft.module.textbook.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseService;
import com.xjrsoft.module.textbook.dto.TeacherCheckByStuDto;
import com.xjrsoft.module.textbook.dto.TeacherCheckByclassDto;
import com.xjrsoft.module.textbook.dto.TeacherCheckStuClaimDto;
import com.xjrsoft.module.textbook.dto.TextbookClaimStudentConfirmDto;
import com.xjrsoft.module.textbook.entity.TextbookStudentClaim;
import com.xjrsoft.module.textbook.vo.*;

import java.util.List;

/**
* @title: 学生教材认领记录
* @Author szs
* @Date: 2023-12-26
* @Version 1.0
*/

public interface ITextbookStudentClaimService extends MPJBaseService<TextbookStudentClaim> {

    /**
     * 获取页面
     * @param dto
     * @return
     */
    TextbookClaimStudentConfirmVo getStudentConfirmList(TextbookClaimStudentConfirmDto dto);

    /**
     * 学生教材领取学期页面
     * @return
     */
    List<TextbookStudentSemesterVo> getStudentSemesterList();

    /**
     * 教师教材领取按班级查看页面
     * @param dto
     * @return
     */
    IPage<TeacherCheckByclassVo> getTeacherCheckByclassList(TeacherCheckByclassDto dto);

    /**
     * 教师教材领取按班级查看页面
     * @param dto
     * @return
     */
    IPage<TeacherCheckByStuVo> getTeacherCheckByStuList(TeacherCheckByStuDto dto);

    /**
     * 学生自己确认已经领取
     * @param textbookStudentClaimIds
     * @return
     */
    Boolean updateByIds(List<Long> textbookStudentClaimIds);

    /**
     * 教师查看一本教材的学生领取情况页面
     * @param dto
     * @return
     */
    List<TeacherCheckStuClaimVo> getTeacherCheckStuClaimList(TeacherCheckStuClaimDto dto);

    /**
     * 教师查看一本教材的学生领取情况页面
     * @param
     * @return
     */
    List<TextbookClaimVO> getTeacherGetStuNoClaimList(Long studentUserId);

}
