|
@@ -73,6 +73,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
private TeacherDao teacherDao;
|
|
|
@Autowired
|
|
|
private MusicGroupDao musicGroupDao;
|
|
|
+ @Autowired
|
|
|
+ private SubjectDao subjectDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, CourseSchedule> getDAO() {
|
|
@@ -223,7 +225,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
result.put("vipAppealDaysRange",sysConfigDao.findConfigValue(SysConfigService.VIP_APPEAL_DAYS_RANGE));
|
|
|
result.put("advanceLeaveHours",Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_LEAVE_HOURS)));
|
|
|
List<CourseScheduleDto> studentCourseSchedulesWithDate = courseScheduleDao.getStudentCourseSchedulesWithDate(classDate, user.getId().longValue());
|
|
|
- studentCourseSchedulesWithDate.forEach(courseScheduleDto -> {
|
|
|
+ List<Long> courseScheduleIds = studentCourseSchedulesWithDate.stream()
|
|
|
+ .filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
|
|
|
+ .map(CourseScheduleDto::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Integer, String> subjectNameCourseMap=new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleIds)){
|
|
|
+ List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
|
|
|
+ subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
|
|
|
if(now.before(courseScheduleDto.getStartClassTime())){
|
|
|
courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
|
|
|
}else if(now.after(courseScheduleDto.getEndClassTime())){
|
|
@@ -231,7 +243,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}else{
|
|
|
courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
|
|
|
}
|
|
|
- });
|
|
|
+ courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
|
|
|
+ }
|
|
|
result.put("list",studentCourseSchedulesWithDate);
|
|
|
return result;
|
|
|
}
|
|
@@ -273,7 +286,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
Date now=new Date();
|
|
|
List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type);
|
|
|
- teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> {
|
|
|
+ List<Long> courseScheduleIds = teacherCourseSchedulesWithDate.stream()
|
|
|
+ .filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
|
|
|
+ .map(CourseScheduleDto::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<Integer, String> subjectNameCourseMap=new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(courseScheduleIds)){
|
|
|
+ List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
|
|
|
+ subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
|
|
|
+ }
|
|
|
+ for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
|
|
|
if(now.before(courseScheduleDto.getStartClassTime())){
|
|
|
courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
|
|
|
}else if(now.after(courseScheduleDto.getEndClassTime())){
|
|
@@ -285,7 +307,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
|
|
|
courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNums, ","));
|
|
|
}
|
|
|
- });
|
|
|
+ courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
|
|
|
+ }
|
|
|
return teacherCourseSchedulesWithDate;
|
|
|
}
|
|
|
|
|
@@ -568,7 +591,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
newCourseSchedules.forEach(newCourseSchedule -> {
|
|
|
|
|
|
if(newCourseSchedule.getStartClassTime().before(tomorrow)&&sysUser.getUserType().equals(SysUserType.TEACHER)){
|
|
|
- throw new BizException("调整时间必须为明天以后");
|
|
|
+ throw new BizException("调整时间必须为明天及以后");
|
|
|
}
|
|
|
|
|
|
CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
|