fix(study): 修复班级考试人数统计功能

dev
zhaokai 2026-03-09 09:53:45 +08:00
parent 1d0d5f8ff3
commit 98ab1cc1a7
2 changed files with 17 additions and 3 deletions

View File

@ -2,8 +2,10 @@ package com.zcloud.edu.command.query.study;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.sun.xml.bind.v2.TODO;
import com.zcloud.edu.command.convertor.study.ClassExamPaperCoConvertor;
import com.zcloud.edu.dto.clientobject.resource.QuestionCO;
import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO;
@ -15,6 +17,7 @@ import com.zcloud.edu.persistence.repository.resource.QuestionRepository;
import com.zcloud.edu.persistence.repository.study.ClassExamPaperRepository;
import com.zcloud.edu.persistence.repository.study.ClassRepository;
import com.zcloud.edu.persistence.repository.study.StudentExamRecordRepository;
import com.zcloud.edu.persistence.repository.study.StudentRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.gbscommon.utils.WordToPdfUtil;
@ -28,9 +31,11 @@ import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@ -47,6 +52,7 @@ public class ClassExamPaperQueryExe {
private final QuestionRepository questionRepository;
private final ClassRepository classRepository;
private final StudentExamRecordRepository studentExamRecordRepository;
private final StudentRepository studentRepository;
/**
*
@ -89,8 +95,16 @@ public class ClassExamPaperQueryExe {
classExamPaperCO.setQuestionList(questionCOList);
//考试人数
Long count = studentExamRecordRepository.getCountByClassExamPaperId(classExamPaperDO.getClassExamPaperId());
classExamPaperCO.setClassExamPaperStudentCount( count);
List<ClassDO> stuCountList = studentRepository.countStudentByClass(Arrays.asList(classId));
//判断当前登录人是否是教师
if (stuCountList != null && stuCountList.size() > 0){
Map<String, ClassDO> stuCountMap = stuCountList.stream().collect(Collectors.toMap(ClassDO::getClassId, classDO -> classDO));
classExamPaperCO.setClassExamPaperStudentCount( stuCountMap.get(classId).getSignCount());
}
return SingleResponse.of(classExamPaperCO);
}

View File

@ -93,6 +93,6 @@ public class ClassExamPaperCO extends ClientObject {
private String env;
@ApiModelProperty(value = "班级考试人数")
private Long classExamPaperStudentCount;
private Integer classExamPaperStudentCount;
}