|
@@ -1346,8 +1346,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public CourseScheduleDto getRecentCourseSchedule(Integer userId) {
|
|
|
- return courseScheduleDao.getRecentCourseSchedule(userId);
|
|
|
+ public CourseScheduleDto getRecentCourseSchedule(Integer userId,Long courseId) {
|
|
|
+ CourseScheduleDto courseSchedule = courseScheduleDao.getRecentCourseSchedule(userId,courseId);
|
|
|
+ if(Objects.nonNull(courseSchedule)){
|
|
|
+ if (Objects.nonNull(courseSchedule.getClassGroupId())) {
|
|
|
+ List<StudentNameAndPhoneDto> courseStudentNameAndPhone = classGroupStudentMapperDao.findCourseStudentNameAndPhone(courseSchedule.getId().intValue());
|
|
|
+ if(!CollectionUtils.isEmpty(courseStudentNameAndPhone)){
|
|
|
+ List<String> studentNames = courseStudentNameAndPhone.stream().filter(s->Objects.nonNull(s)&&Objects.nonNull(s.getUserName())).map(StudentNameAndPhoneDto::getUserName).collect(Collectors.toList());
|
|
|
+ courseSchedule.setStudentNames(StringUtils.join(studentNames, ","));
|
|
|
+// courseSchedule.setStudents(courseStudentNameAndPhone);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentAttendanceDao.countStudentAttendancesByCourses(Collections.singletonList(courseSchedule.getId())));
|
|
|
+ Long studentNum = studentNumCourseMap.get(courseSchedule.getId());
|
|
|
+ if (Objects.nonNull(studentNum)) {
|
|
|
+ courseSchedule.setIsCallNames(studentNum > 0 ? YesOrNoEnum.YES : YesOrNoEnum.NO);
|
|
|
+ } else {
|
|
|
+ courseSchedule.setIsCallNames(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return courseSchedule;
|
|
|
}
|
|
|
|
|
|
// 数据整理
|
|
@@ -1923,6 +1941,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
//合并新课程和已存在的课程
|
|
|
List<CourseSchedule> allCourseSchedules;
|
|
|
if (!CollectionUtils.isEmpty(existCourseSchedules)) {
|
|
|
+ //如果是直播课,那么只校验同一个课程组的课程
|
|
|
+ CourseSchedule courseSchedule = courseSchedules.get(0);
|
|
|
+ if(courseSchedule.getType() == CourseScheduleType.LIVE){
|
|
|
+ existCourseSchedules = existCourseSchedules.stream().
|
|
|
+ filter(e -> e.getMusicGroupId().equals(courseSchedule.getMusicGroupId())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
allCourseSchedules = ListUtils.sum(courseSchedules, existCourseSchedules);
|
|
|
} else {
|
|
|
allCourseSchedules = courseSchedules;
|