fix: 教培调整

dev-tmp1
zhanglei 2026-08-25 17:54:57 +08:00
parent c71b875c4d
commit 6c30f58d38
5 changed files with 59 additions and 49 deletions

View File

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiParam;
import org.qinan.cedu.model.dto.ClassCourseDTO;
import org.qinan.cedu.model.query.ClassCoursePageQuery;
import org.qinan.cedu.model.vo.ClassCourseVO;
import org.qinan.cedu.model.vo.ClassManagementVO;
import org.qinan.cedu.model.vo.ExamStatisticsAndRecordVO;
import org.qinan.cedu.service.ClassCourseService;
import org.qinan.safetyeval.client.dto.PageResponse;
@ -71,8 +72,8 @@ public class ClassCourseController {
@ApiOperation("我的学习")
@GetMapping("/myCoursePage")
public SingleResponse<List<ClassCourseVO>> myCoursePage() {
List<ClassCourseVO> list = classCourseService.myCoursePage();
public SingleResponse<List<ClassManagementVO>> myCoursePage() {
List<ClassManagementVO> list = classCourseService.myCoursePage();
return SingleResponse.success(list);
}

View File

@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
import org.qinan.cedu.model.dto.AnswerQuestionDTO;
import org.qinan.cedu.model.dto.StartExamDTO;
import org.qinan.cedu.model.dto.SubmitExamDTO;
import org.qinan.cedu.model.vo.ClassCourseVO;
import org.qinan.cedu.model.vo.ClassManagementVO;
import org.qinan.cedu.model.vo.ExamStatisticsAndRecordVO;
import org.qinan.cedu.model.vo.PaperExamDetailVO;
import org.qinan.cedu.model.vo.StartExamVO;
@ -34,8 +34,8 @@ public class StudyController {
@ApiOperation("我的学习")
@GetMapping("/myCoursePage")
public SingleResponse<List<ClassCourseVO>> myCoursePage() {
List<ClassCourseVO> list = classCourseService.myCoursePage();
public SingleResponse<List<ClassManagementVO>> myCoursePage() {
List<ClassManagementVO> list = classCourseService.myCoursePage();
return SingleResponse.success(list);
}

View File

@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
/**
*
@ -101,4 +102,7 @@ public class ClassManagementVO extends BaseVO {
@ApiModelProperty("完成人员数")
private Long completedCount;
@ApiModelProperty("班级课程列表")
private List<ClassCourseVO> classCourseList;
}

View File

@ -6,6 +6,7 @@ import org.qinan.cedu.model.dto.ClassCourseDTO;
import org.qinan.cedu.model.entity.ClassCourseDO;
import org.qinan.cedu.model.query.ClassCoursePageQuery;
import org.qinan.cedu.model.vo.ClassCourseVO;
import org.qinan.cedu.model.vo.ClassManagementVO;
import org.qinan.cedu.model.vo.ExamStatisticsAndRecordVO;
import java.util.List;
@ -33,7 +34,7 @@ public interface ClassCourseService extends IService<ClassCourseDO> {
boolean deleteById(Long id);
List<ClassCourseVO> myCoursePage();
List<ClassManagementVO> myCoursePage();
ExamStatisticsAndRecordVO scoreQuery();

View File

@ -4,19 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.qinan.cedu.convertor.ClassCourseConvertor;
import org.qinan.cedu.convertor.ClassStudentExamRecordConvertor;
import org.qinan.cedu.convertor.CourseRelCoursewareConvertor;
import org.qinan.cedu.convertor.CoursewareManagementConvertor;
import org.qinan.cedu.convertor.*;
import org.qinan.cedu.enums.DeleteEnum;
import org.qinan.cedu.mapper.*;
import org.qinan.cedu.model.dto.ClassCourseDTO;
import org.qinan.cedu.model.entity.*;
import org.qinan.cedu.model.query.ClassCoursePageQuery;
import org.qinan.cedu.model.vo.ClassCourseVO;
import org.qinan.cedu.model.vo.ClassStudentExamRecordVO;
import org.qinan.cedu.model.vo.CourseStudentStatVO;
import org.qinan.cedu.model.vo.ExamStatisticsAndRecordVO;
import org.qinan.cedu.model.vo.*;
import org.qinan.cedu.service.ClassCourseService;
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
@ -63,6 +57,8 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
private ClassStudentExamRecordMapper classStudentExamRecordMapper;
@Autowired
private ClassStudentExamRecordConvertor classStudentExamRecordConvertor;
@Autowired
private ClassManagementConvertor classManagementConvertor;
@Override
public IPage<ClassCourseVO> pageQuery(ClassCoursePageQuery query) {
@ -201,18 +197,19 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
}
@Override
public List<ClassCourseVO> myCoursePage() {
public List<ClassManagementVO> myCoursePage() {
List<Long> classId = classStudentMapper.selectList(new LambdaQueryWrapper<ClassStudentDO>()
.eq(ClassStudentDO::getStudentId, AuthUserContextAdapter.getCurrentUserId()))
.stream().map(ClassStudentDO::getClassId).distinct().collect(Collectors.toList());
if (!CollectionUtils.isEmpty(classId)) {
List<ClassCourseDO> classCourseDOS = baseMapper.selectList(new LambdaQueryWrapper<ClassCourseDO>()
.eq(ClassCourseDO::getClassId, CollectionUtils.isEmpty(classId) ? Collections.singletonList(0L) : classId)
.eq(ClassCourseDO::getClassId, classId)
.eq(ClassCourseDO::getDeleteEnum, DeleteEnum.FALSE.getCode()));
//查询班级
Map<Long, ClassManagementDO> collectClassMap = classManagementMapper.selectList(new LambdaQueryWrapper<ClassManagementDO>()
.in(ClassManagementDO::getId, CollectionUtils.isEmpty(classId) ? Collections.singletonList(0L) : classId))
.in(ClassManagementDO::getId, classId))
.stream().collect(Collectors.toMap(ClassManagementDO::getId, Function.identity()));
return classCourseDOS.stream().map(item -> {
List<ClassCourseVO> classCourseVOS = classCourseDOS.stream().map(item -> {
ClassCourseVO classCourseVO = classCourseConvertor.convertEToVo(item);
List<ClassStudentLearningRecordDO> classStudentLearningRecordDOS = learningRecordMapper.selectList(new LambdaQueryWrapper<ClassStudentLearningRecordDO>()
.eq(ClassStudentLearningRecordDO::getStudentId, AuthUserContextAdapter.getCurrentUserId())
@ -241,6 +238,13 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
.stream().map(coursewareManagementConvertor::convertEToVo).collect(Collectors.toList()));
return classCourseVO;
}).collect(Collectors.toList());
return classManagementMapper.selectBatchIds(classId).stream().map(item -> {
ClassManagementVO classManagementVO = classManagementConvertor.convertEToVo(item);
classManagementVO.setClassCourseList(classCourseVOS.stream().filter(f -> f.getClassId().equals(String.valueOf(item.getId()))).collect(Collectors.toList()));
return classManagementVO;
}).collect(Collectors.toList());
}
return Collections.emptyList();
}
@Override