考试相关

This commit is contained in:
wuchunlei
2024-08-30 15:52:23 +08:00
parent b190a88424
commit 83d35846e9

View File

@@ -114,18 +114,21 @@ public class ClassExamServiceImpl extends ServiceImpl<ClassExamDao, ClassExam> i
courseWrapper.eq(ClassEntity::getId,params.get("classId"));
courseWrapper.selectAll(ClassCourse.class);
List<ClassCourse> courseList = classCourseDao.selectList(courseWrapper);
List<ClassExamSubject> resultList = new ArrayList<>();
List<ClassExamSubject> sList = new ArrayList<>();
List<ClassExamSubject> mList = new ArrayList<>();
List<Map<String,Object>> resultList = new ArrayList<>();
List<Map<String,Object>> sList = new ArrayList<>();
List<Map<String,Object>> mList = new ArrayList<>();
if (courseList.size() > 0) {
int stotal = 50;//单选题总数
int mtotal = 50;//多选题总数
int stotal = 10;//单选题总数
int mtotal = 10;//多选题总数
int snum = (int)Math.floor(stotal/courseList.size());
int mnum = (int)Math.floor(mtotal/courseList.size());
for (ClassCourse classCourse:courseList){
CourseEntity course = courseDao.selectById(classCourse.getCourseId());
//单选
List<ClassExamSubject> singleList = classExamSubjectDao.selectList(new LambdaQueryWrapper<ClassExamSubject>()
List<Map<String,Object>> singleList = classExamSubjectDao.selectMaps(new MPJLambdaWrapper<ClassExamSubject>()
.selectAs(ClassExamSubject::getId,"id")
.selectAs(ClassExamSubject::getType,"type")
.selectAs(ClassExamSubject::getContent,"content")
.eq(ClassExamSubject::getCourseId,classCourse.getCourseId())
.eq(ClassExamSubject::getType,0));
Collections.shuffle(singleList);//打乱顺序
@@ -139,7 +142,10 @@ public class ClassExamServiceImpl extends ServiceImpl<ClassExamDao, ClassExam> i
return R.error(course.getTitle()+"-单选题数量不足");
}
//多选
List<ClassExamSubject> mulList = classExamSubjectDao.selectList(new LambdaQueryWrapper<ClassExamSubject>()
List<Map<String,Object>> mulList = classExamSubjectDao.selectMaps(new MPJLambdaWrapper<ClassExamSubject>()
.selectAs(ClassExamSubject::getId,"id")
.selectAs(ClassExamSubject::getType,"type")
.selectAs(ClassExamSubject::getContent,"content")
.eq(ClassExamSubject::getCourseId,classCourse.getCourseId())
.eq(ClassExamSubject::getType,1));
Collections.shuffle(mulList);//打乱顺序
@@ -158,11 +164,14 @@ public class ClassExamServiceImpl extends ServiceImpl<ClassExamDao, ClassExam> i
resultList.addAll(mList);
//拼装选项
if (resultList.size()>0){
for (ClassExamSubject subject:resultList) {
List<ClassExamOption> options = classExamOptionDao.selectList(
new LambdaQueryWrapper<ClassExamOption>().eq(ClassExamOption::getSubjectId,subject.getId()));
for (Map<String,Object> subject:resultList) {
List<Map<String,Object>> options = classExamOptionDao.selectMaps(new MPJLambdaWrapper<ClassExamOption>()
.selectAs(ClassExamOption::getId,"id")
.selectAs(ClassExamOption::getContent,"content")
.selectAs(ClassExamOption::getRightWrong,"rightWrong")
.eq(ClassExamOption::getSubjectId,subject.get("id")));
Collections.shuffle(options);//打乱顺序
subject.setOptions(options);
subject.put("options",options);
}
}
ClassExamUser classExamUser = new ClassExamUser();