fix: 教培调整
parent
c71b875c4d
commit
6c30f58d38
|
|
@ -7,6 +7,7 @@ import io.swagger.annotations.ApiParam;
|
||||||
import org.qinan.cedu.model.dto.ClassCourseDTO;
|
import org.qinan.cedu.model.dto.ClassCourseDTO;
|
||||||
import org.qinan.cedu.model.query.ClassCoursePageQuery;
|
import org.qinan.cedu.model.query.ClassCoursePageQuery;
|
||||||
import org.qinan.cedu.model.vo.ClassCourseVO;
|
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.ExamStatisticsAndRecordVO;
|
||||||
import org.qinan.cedu.service.ClassCourseService;
|
import org.qinan.cedu.service.ClassCourseService;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
|
|
@ -71,8 +72,8 @@ public class ClassCourseController {
|
||||||
|
|
||||||
@ApiOperation("我的学习")
|
@ApiOperation("我的学习")
|
||||||
@GetMapping("/myCoursePage")
|
@GetMapping("/myCoursePage")
|
||||||
public SingleResponse<List<ClassCourseVO>> myCoursePage() {
|
public SingleResponse<List<ClassManagementVO>> myCoursePage() {
|
||||||
List<ClassCourseVO> list = classCourseService.myCoursePage();
|
List<ClassManagementVO> list = classCourseService.myCoursePage();
|
||||||
return SingleResponse.success(list);
|
return SingleResponse.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import org.qinan.cedu.model.dto.AnswerQuestionDTO;
|
import org.qinan.cedu.model.dto.AnswerQuestionDTO;
|
||||||
import org.qinan.cedu.model.dto.StartExamDTO;
|
import org.qinan.cedu.model.dto.StartExamDTO;
|
||||||
import org.qinan.cedu.model.dto.SubmitExamDTO;
|
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.ExamStatisticsAndRecordVO;
|
||||||
import org.qinan.cedu.model.vo.PaperExamDetailVO;
|
import org.qinan.cedu.model.vo.PaperExamDetailVO;
|
||||||
import org.qinan.cedu.model.vo.StartExamVO;
|
import org.qinan.cedu.model.vo.StartExamVO;
|
||||||
|
|
@ -34,8 +34,8 @@ public class StudyController {
|
||||||
|
|
||||||
@ApiOperation("我的学习")
|
@ApiOperation("我的学习")
|
||||||
@GetMapping("/myCoursePage")
|
@GetMapping("/myCoursePage")
|
||||||
public SingleResponse<List<ClassCourseVO>> myCoursePage() {
|
public SingleResponse<List<ClassManagementVO>> myCoursePage() {
|
||||||
List<ClassCourseVO> list = classCourseService.myCoursePage();
|
List<ClassManagementVO> list = classCourseService.myCoursePage();
|
||||||
return SingleResponse.success(list);
|
return SingleResponse.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 班级管理
|
* 班级管理
|
||||||
|
|
@ -101,4 +102,7 @@ public class ClassManagementVO extends BaseVO {
|
||||||
|
|
||||||
@ApiModelProperty("完成人员数")
|
@ApiModelProperty("完成人员数")
|
||||||
private Long completedCount;
|
private Long completedCount;
|
||||||
|
|
||||||
|
@ApiModelProperty("班级课程列表")
|
||||||
|
private List<ClassCourseVO> classCourseList;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import org.qinan.cedu.model.dto.ClassCourseDTO;
|
||||||
import org.qinan.cedu.model.entity.ClassCourseDO;
|
import org.qinan.cedu.model.entity.ClassCourseDO;
|
||||||
import org.qinan.cedu.model.query.ClassCoursePageQuery;
|
import org.qinan.cedu.model.query.ClassCoursePageQuery;
|
||||||
import org.qinan.cedu.model.vo.ClassCourseVO;
|
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.ExamStatisticsAndRecordVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -33,7 +34,7 @@ public interface ClassCourseService extends IService<ClassCourseDO> {
|
||||||
|
|
||||||
boolean deleteById(Long id);
|
boolean deleteById(Long id);
|
||||||
|
|
||||||
List<ClassCourseVO> myCoursePage();
|
List<ClassManagementVO> myCoursePage();
|
||||||
|
|
||||||
ExamStatisticsAndRecordVO scoreQuery();
|
ExamStatisticsAndRecordVO scoreQuery();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,19 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.qinan.cedu.convertor.ClassCourseConvertor;
|
import org.qinan.cedu.convertor.*;
|
||||||
import org.qinan.cedu.convertor.ClassStudentExamRecordConvertor;
|
|
||||||
import org.qinan.cedu.convertor.CourseRelCoursewareConvertor;
|
|
||||||
import org.qinan.cedu.convertor.CoursewareManagementConvertor;
|
|
||||||
import org.qinan.cedu.enums.DeleteEnum;
|
import org.qinan.cedu.enums.DeleteEnum;
|
||||||
import org.qinan.cedu.mapper.*;
|
import org.qinan.cedu.mapper.*;
|
||||||
import org.qinan.cedu.model.dto.ClassCourseDTO;
|
import org.qinan.cedu.model.dto.ClassCourseDTO;
|
||||||
import org.qinan.cedu.model.entity.*;
|
import org.qinan.cedu.model.entity.*;
|
||||||
import org.qinan.cedu.model.query.ClassCoursePageQuery;
|
import org.qinan.cedu.model.query.ClassCoursePageQuery;
|
||||||
import org.qinan.cedu.model.vo.ClassCourseVO;
|
import org.qinan.cedu.model.vo.*;
|
||||||
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.service.ClassCourseService;
|
import org.qinan.cedu.service.ClassCourseService;
|
||||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||||
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
|
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
|
||||||
|
|
@ -63,6 +57,8 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
|
||||||
private ClassStudentExamRecordMapper classStudentExamRecordMapper;
|
private ClassStudentExamRecordMapper classStudentExamRecordMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ClassStudentExamRecordConvertor classStudentExamRecordConvertor;
|
private ClassStudentExamRecordConvertor classStudentExamRecordConvertor;
|
||||||
|
@Autowired
|
||||||
|
private ClassManagementConvertor classManagementConvertor;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<ClassCourseVO> pageQuery(ClassCoursePageQuery query) {
|
public IPage<ClassCourseVO> pageQuery(ClassCoursePageQuery query) {
|
||||||
|
|
@ -201,46 +197,54 @@ public class ClassCourseServiceImpl extends ServiceImpl<ClassCourseMapper, Class
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ClassCourseVO> myCoursePage() {
|
public List<ClassManagementVO> myCoursePage() {
|
||||||
List<Long> classId = classStudentMapper.selectList(new LambdaQueryWrapper<ClassStudentDO>()
|
List<Long> classId = classStudentMapper.selectList(new LambdaQueryWrapper<ClassStudentDO>()
|
||||||
.eq(ClassStudentDO::getStudentId, AuthUserContextAdapter.getCurrentUserId()))
|
.eq(ClassStudentDO::getStudentId, AuthUserContextAdapter.getCurrentUserId()))
|
||||||
.stream().map(ClassStudentDO::getClassId).distinct().collect(Collectors.toList());
|
.stream().map(ClassStudentDO::getClassId).distinct().collect(Collectors.toList());
|
||||||
List<ClassCourseDO> classCourseDOS = baseMapper.selectList(new LambdaQueryWrapper<ClassCourseDO>()
|
if (!CollectionUtils.isEmpty(classId)) {
|
||||||
.eq(ClassCourseDO::getClassId, CollectionUtils.isEmpty(classId) ? Collections.singletonList(0L) : classId)
|
List<ClassCourseDO> classCourseDOS = baseMapper.selectList(new LambdaQueryWrapper<ClassCourseDO>()
|
||||||
.eq(ClassCourseDO::getDeleteEnum, DeleteEnum.FALSE.getCode()));
|
.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))
|
Map<Long, ClassManagementDO> collectClassMap = classManagementMapper.selectList(new LambdaQueryWrapper<ClassManagementDO>()
|
||||||
.stream().collect(Collectors.toMap(ClassManagementDO::getId, Function.identity()));
|
.in(ClassManagementDO::getId, classId))
|
||||||
return classCourseDOS.stream().map(item -> {
|
.stream().collect(Collectors.toMap(ClassManagementDO::getId, Function.identity()));
|
||||||
ClassCourseVO classCourseVO = classCourseConvertor.convertEToVo(item);
|
List<ClassCourseVO> classCourseVOS = classCourseDOS.stream().map(item -> {
|
||||||
List<ClassStudentLearningRecordDO> classStudentLearningRecordDOS = learningRecordMapper.selectList(new LambdaQueryWrapper<ClassStudentLearningRecordDO>()
|
ClassCourseVO classCourseVO = classCourseConvertor.convertEToVo(item);
|
||||||
.eq(ClassStudentLearningRecordDO::getStudentId, AuthUserContextAdapter.getCurrentUserId())
|
List<ClassStudentLearningRecordDO> classStudentLearningRecordDOS = learningRecordMapper.selectList(new LambdaQueryWrapper<ClassStudentLearningRecordDO>()
|
||||||
.eq(ClassStudentLearningRecordDO::getCourseId, item.getId())
|
.eq(ClassStudentLearningRecordDO::getStudentId, AuthUserContextAdapter.getCurrentUserId())
|
||||||
.eq(ClassStudentLearningRecordDO::getClassId, item.getClassId()));
|
.eq(ClassStudentLearningRecordDO::getCourseId, item.getId())
|
||||||
// getStudyStatus()都为2就是完成, 否则为未完成
|
.eq(ClassStudentLearningRecordDO::getClassId, item.getClassId()));
|
||||||
int completed = classStudentLearningRecordDOS.stream().allMatch(record -> record.getStudyStatus() != null && record.getStudyStatus() == 2) ? 2 : 0;
|
// getStudyStatus()都为2就是完成, 否则为未完成
|
||||||
ClassManagementDO classManagementDO = collectClassMap.get(item.getClassId());
|
int completed = classStudentLearningRecordDOS.stream().allMatch(record -> record.getStudyStatus() != null && record.getStudyStatus() == 2) ? 2 : 0;
|
||||||
if (classManagementDO != null) {
|
ClassManagementDO classManagementDO = collectClassMap.get(item.getClassId());
|
||||||
classCourseVO.setClassName(classManagementDO.getClassName());
|
if (classManagementDO != null) {
|
||||||
LocalDateTime endDate = classManagementDO.getEndDate();
|
classCourseVO.setClassName(classManagementDO.getClassName());
|
||||||
if (classManagementDO.getDelayTime() != null && classManagementDO.getDelayTime().isAfter(endDate)) {
|
LocalDateTime endDate = classManagementDO.getEndDate();
|
||||||
endDate = classManagementDO.getDelayTime();
|
if (classManagementDO.getDelayTime() != null && classManagementDO.getDelayTime().isAfter(endDate)) {
|
||||||
|
endDate = classManagementDO.getDelayTime();
|
||||||
|
}
|
||||||
|
classCourseVO.setEndDate(endDate);
|
||||||
}
|
}
|
||||||
classCourseVO.setEndDate(endDate);
|
if (completed == 0) {
|
||||||
}
|
LocalDateTime endDate = classCourseVO.getEndDate();
|
||||||
if (completed == 0) {
|
if (LocalDateTime.now().isBefore(endDate)) {
|
||||||
LocalDateTime endDate = classCourseVO.getEndDate();
|
classCourseVO.setCompleted(1);
|
||||||
if (LocalDateTime.now().isBefore(endDate)) {
|
}
|
||||||
classCourseVO.setCompleted(1);
|
|
||||||
}
|
}
|
||||||
}
|
classCourseVO.setCompleted(completed);
|
||||||
classCourseVO.setCompleted(completed);
|
// 查询课件
|
||||||
// 查询课件
|
classCourseVO.setCoursewareList(coursewareManagementMapper.selectBatchIds(item.getCoursewareId())
|
||||||
classCourseVO.setCoursewareList(coursewareManagementMapper.selectBatchIds(item.getCoursewareId())
|
.stream().map(coursewareManagementConvertor::convertEToVo).collect(Collectors.toList()));
|
||||||
.stream().map(coursewareManagementConvertor::convertEToVo).collect(Collectors.toList()));
|
return classCourseVO;
|
||||||
return classCourseVO;
|
}).collect(Collectors.toList());
|
||||||
}).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
|
@Override
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue