第一次使用

130 阅读1分钟

第一章


    @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);
    }
}