package com.ibeetl.jlw.dao; import cn.hutool.core.util.ObjectUtil; import com.ibeetl.jlw.entity.CourseInfo; import com.ibeetl.jlw.entity.Student; import com.ibeetl.jlw.entity.StudentExtendSchoolInfo; import com.ibeetl.jlw.entity.api.student.StudentActiveInfo; import com.ibeetl.jlw.entity.dto.StudentEditPasswordDTO; import com.ibeetl.jlw.entity.vo.StudentLogAnalysisVO; import com.ibeetl.jlw.entity.vo.StudentLoginLogVO; import com.ibeetl.jlw.entity.vo.StudentUseLogVO; import com.ibeetl.jlw.web.query.StudentQuery; import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.mapper.BaseMapper; import org.beetl.sql.mapper.annotation.SqlResource; import org.beetl.sql.mapper.annotation.Update; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Repository; import java.util.List; import java.util.Map; /** * Student Dao */ // 实际可以不用加Repository注解,调用的地方注入时候,Idea会报红,看着难受 @Repository @SqlResource("jlw.student") public interface StudentDao extends BaseMapper{ PageQuery queryByConditionQuery(PageQuery query); PageQuery queryByCondition(PageQuery query); PageQuery queryByCondition2Student(PageQuery query); @Update void deleteStudentByIds(String ids); @Update void batchAppendCodeDelByIds(String ids); @Update void deleteByIds(String ids); List> getExcelValues (StudentQuery studentQuery); List> getExcelValues2Competition (StudentQuery studentQuery); Student getByUserId(Long userId); Student getByAccount(String account); List getByIds (String studentIds); default Student getById (Long studentId) { List byIds = getByIds(studentId.toString()); return ObjectUtil.isNotEmpty(byIds)? byIds.get(0): null; } List getStudentLog (StudentQuery studentQuery); PageQuery queryStudentUseLogByCondition(PageQuery query); /** * 系统日志-使用日志 * @param query * @return */ PageQuery queryStudentTeacherOrUseLogBy(PageQuery query); PageQuery queryStudentLoginLogByCondition(PageQuery query); /** * 登录日志 * @param query * @return */ PageQuery queryUserLoginLogByCondition(PageQuery query); PageQuery queryStudentLogAnalysisByCondition(PageQuery query); /** * 统计报表-总人数统计 * @param query * @return */ PageQuery queryStatisticalStatementNumberPeopleByCondition(PageQuery query); List getValuesByQuery (StudentQuery studentQuery); PageQuery getPracticePerformanceStatistic (PageQuery query); List getPracticePerformanceStatisticInfo (StudentQuery studentQuery); List getPracticeProgress (StudentQuery studentQuery); PageQuery getErrorStatistics (PageQuery query); /** * 获取学生的学校信息 * 班级-专业-院系-院校 * * @param studentIds * @return */ @Cacheable(value = "studentDao:getStudentExtendSchoolInfo", key = "#studentIds", unless="#result == null || #result.size() == 0") List getStudentExtendSchoolInfo(String studentIds); /** * 通过用户ID查询 * @param userIds * @return */ List getStudentExtendSchoolInfoListByUserIds(String userIds); /** * 学生端-修改密码,数据库验证 * @param dto * @return */ Student getStudentByStudentEditPasswordDTO(StudentEditPasswordDTO dto); StudentActiveInfo studentActiveInfo(Long studentId, Long userId); }