You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tianze-pro/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionSe...

84 lines
3.7 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.ibeetl.jlw.dao;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionSetting;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionSettingPure;
import com.ibeetl.jlw.entity.vo.QuestionSettingScoreInfoVO;
import com.ibeetl.jlw.entity.vo.TeacherOpenCourseQuestionSettingAnalysisVO;
import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionSettingQuery;
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.stereotype.Repository;
import javax.validation.constraints.NotNull;
import java.util.List;
import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWORK_FILE;
import static java.lang.Math.toIntExact;
/**
* 题目配置 Dao
*/
// 实际可以不用加Repository注解调用的地方注入时候Idea会报红看着难受
@Repository
@SqlResource("jlw.teacherOpenCourseQuestionSetting")
public interface TeacherOpenCourseQuestionSettingDao extends BaseMapper<TeacherOpenCourseQuestionSetting>{
PageQuery<TeacherOpenCourseQuestionSetting> queryByCondition(PageQuery query);
PageQuery<TeacherOpenCourseQuestionSetting> queryByConditionQuery(PageQuery query);
@Update
void logicDeleteBySettingIds(String ids);
@Update
void deleteByIds(String ids);
@Update
int updateGivenByIds(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSetting> getByIds(String ids);
List<TeacherOpenCourseQuestionSetting> getValuesByQuery(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSetting> getValuesByQueryNotWithPermission(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery);
/**
* 自己懒省事搞的原始的TeacherOpenCourseQuestionSetting 被污染了。。
* @param teacherOpenCourseQuestionSettingQuery 查询实体
* @param placeholder 占位,随便传
* @return
*/
List<TeacherOpenCourseQuestionSettingPure> getValuesByQueryNotWithPermission(TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery, Boolean placeholder);
/**
* 题目配置,统计分析接口
*
* @param teacherOpenCourseId 开课ID
* @param questionSettingType 题目配置类型
* @return
*/
TeacherOpenCourseQuestionSettingAnalysisVO analysis(Long teacherOpenCourseId, ResourcesQuestionSnapshotFromTypeEnum questionSettingType);
/**
* 功能描述: <br>
* 〈查询题目配置页,的分数和用时情况〉
*
* @param questionSettingId 题目配置ID
* @param studentId 学生ID
* @return {@link QuestionSettingScoreInfoVO}
* @Author: 87966
* @Date: 2022/11/30 14:33
*/
// QuestionSettingScoreInfoVO getQuestionSettingScoreInfo(@NotNull Long questionSettingId, @NotNull Long studentId);
/**
* 功能描述: <br>
* 题目配置ID查询题目数量
*
* @Author: 87966
* @Date: 2022/12/5 13:47
*/
default int getHomeWorkFileTotalCountBySettingId(@NotNull Long questionSettingId) {
long count = createLambdaQuery().andEq(TeacherOpenCourseQuestionSetting::getTeacherOpenCourseQuestionSettingId, questionSettingId)
.andEq(TeacherOpenCourseQuestionSetting::getTeacherOpenCourseQuestionSettingStatus, 1)
.andEq(TeacherOpenCourseQuestionSetting::getTeacherOpenCourseQuestionSettingType, HOMEWORK_FILE)
.count();
return toIntExact(count);
}
}