package com.srs.system.mapper;

import com.srs.system.domain.StudentMentalRating;
import com.srs.system.domain.vo.StudentMentalRatingVo;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

public interface StudentMentalRatingMapper {

    /**
     * 按学号查询 知无涯
     */
    StudentMentalRating selectByStudentId(String studentId);

    /**
     * 插入
     */
    int insert(StudentMentalRating record);

    /**
     * 按学号更新评级
     */
    int updateRatingByStudentId(StudentMentalRating record);

    /**
     * 查询辅导员负责的每个学生的最新心理评级记录（带条件查询）
     * @param teacherId 教师ID
     * @param stuNo 学号
     * @param stuName 学生姓名
     * @return 学生心理评级列表
     */
    List<StudentMentalRatingVo> selectLatestByTeacherIdWithConditions(@Param("teacherId") String teacherId,
                                                                      @Param("stuNo") String stuNo,
                                                                      @Param("stuName") String stuName);

    /**
     * 查询所有学生的最新心理评级记录（带条件查询）
     * @param stuNo 学号
     * @param stuName 学生姓名
     * @return 学生心理评级列表
     */
    List<StudentMentalRatingVo> selectLatestAllWithConditions(@Param("stuNo") String stuNo,
                                                              @Param("stuName") String stuName);


    /** 单学号全部记录 */
    List<StudentMentalRatingVo> selectByStuNo(@Param("stuNo") String stuNo);

    /**
     * 查询今天的心理评级记录 陈冠元
     * @param studentId 学生ID
     * @param today 今天的日期
     * @return 记录数
     */
    int countTodayByStudentId(@Param("studentId") String studentId, @Param("today") LocalDate today);

}

