package com.template.services;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.template.model.evaluate.student.SmartEvaluateStudent;
import com.template.model.result.PageUtils;
import com.template.model.vo.HistoricalEvaluationVo;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author ceshi
 * @since 2024-01-08
 */
public interface SmartEvaluateStudentService extends IService<SmartEvaluateStudent> {

    int insertSmartEvaluateStudent(SmartEvaluateStudent sa);

    int updateSmartEvaluateStudent(SmartEvaluateStudent sa);

    PageUtils<SmartEvaluateStudent> queryPageSmartEvaluateStudent(int currentPage, int pageCount, QueryWrapper<SmartEvaluateStudent> queryWrapper);

    int deleteSmartEvaluateStudentById(int id);

    SmartEvaluateStudent getSmartEvaluateStudentById(int id);

    List<SmartEvaluateStudent> getSmartEvaluateStudentList();

    List<SmartEvaluateStudent> getSmartEvaluateStudentByKey(QueryWrapper<SmartEvaluateStudent> queryWrapper);

    /**
     * 通过学期和卡号找到当前评语
     *
     * @param cardNo
     * @param name
     * @return
     */
    SmartEvaluateStudent getTeacherMessage(String cardNo, String name);

    List<HistoricalEvaluationVo> getHistoricalEvaluation(String cardNo);

    List<SmartEvaluateStudent> getEvaluateStudents(List<Integer> userIds, List<Integer> semesterIds, List<Integer> examTypes);

    int deleteEvaluateStudents(List<Integer> ids);

    SmartEvaluateStudent getEvaluateStudent(Integer userId, Integer semesterId, Integer examType);

}
