第一章
@Override
public ListResultSet<DiscoverAttendCourseDTO> discoverAttendCourse() {
log.info("扫描课程考勤数据");
com.cheetah.extend.result.ListResultSet<CourseChapterDetailDTO> chapters = courseChapterFacadeAPI.queryInNextHourLiveChapters(CourseTypeEnum.VIP.getCourseType());
final List<CourseChapterDetailDTO> results = chapters.getResults();
List<DiscoverAttendCourseDTO> discoverAttendCourseDTOS = Lists.newArrayList();
results.forEach(chapter -> {
if (DateUtil.isIn(DateUtil.date(),
DateUtil.offsetMinute(chapter.getStartDate(), applicationConfig.getAttendChapterStartTimeOffsetMinutes()),
DateUtil.offsetMinute(chapter.getEndDate(), applicationConfig.getAttendChapterEndTimeOffsetMinutes()))
&& !redisCourseRepository.findOneByCourseIdAndClassId(chapter.getCourseId().longValue(), chapter.getClassId().longValue()).isPresent()) {
final RedisCourseEntity redisCourseEntity = new RedisCourseEntity();
redisCourseEntity.setCourseId(chapter.getCourseId().longValue());
redisCourseEntity.setClassId(chapter.getClassId().longValue());
redisCourseEntity.setChapterId(chapter.getChapterId().longValue());
redisCourseEntity.setCourseName(chapter.getCourseTitle());
redisCourseEntity.setChapterName(chapter.getChapterTitle());
redisCourseEntity.setChapterStartTime(chapter.getStartDate().getTime());
redisCourseEntity.setChapterEndTime(chapter.getEndDate().getTime());
redisCourseEntity.setMainTeacherId(chapter.getMainTeacherId());
redisCourseEntity.setLiveStatus(false);
attendCourseEventService.start(redisCourseEntity);
discoverAttendCourseDTOS.add(new DiscoverAttendCourseDTO(chapter.getCourseId().longValue(), chapter.getClassId().longValue(), chapter.getChapterId().longValue()));
}
});
return ListResultSet.success(discoverAttendCourseDTOS);
}
}