|  | @@ -140,6 +140,9 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 | 
	
		
			
				|  |  |          courseScheduleService.checkNewCourseSchedules(newCourses,false);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          CourseSchedule firstCourseSchedule = newCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get();
 | 
	
		
			
				|  |  | +        if(firstCourseSchedule.getStartClassTime().before(now)){
 | 
	
		
			
				|  |  | +            throw new BizException("开课时间不可小于当前时间");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          CourseSchedule latestCourseSchedule = newCourses.stream().max(Comparator.comparing(CourseSchedule::getEndClassTime)).get();
 | 
	
		
			
				|  |  |          courseGroup.setCoursesStartDate(firstCourseSchedule.getStartClassTime());
 | 
	
		
			
				|  |  |          courseGroup.setCoursesEndDate(latestCourseSchedule.getEndClassTime());
 | 
	
	
		
			
				|  | @@ -247,6 +250,9 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 | 
	
		
			
				|  |  |              List<GroupCourseTimesDto> groupsCourseTimesInfo = courseScheduleDao.findGroupsCourseTimesInfo(groupIds, GroupType.COMM);
 | 
	
		
			
				|  |  |              Map<String, GroupCourseTimesDto> groupCourseTimesInfoMap = groupsCourseTimesInfo.stream().collect(Collectors.toMap(GroupCourseTimesDto::getGroupId, e -> e));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            List<GroupValidDateDto> groupsValidate = courseScheduleDao.findGroupsValidate(groupIds, GroupType.COMM);
 | 
	
		
			
				|  |  | +            Map<String, GroupValidDateDto> groupValidateMap = groupsValidate.stream().collect(Collectors.toMap(GroupValidDateDto::getGroupId, e -> e));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              groupCards=new ArrayList<>();
 | 
	
		
			
				|  |  |              for (CoursesGroup teacherCourseGroup : teacherCourseGroups) {
 | 
	
		
			
				|  |  |                  CourseGroupTeacherCardDto groupCard=new CourseGroupTeacherCardDto();
 | 
	
	
		
			
				|  | @@ -257,8 +263,9 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 | 
	
		
			
				|  |  |                  groupCard.setSubjectId(teacherCourseGroup.getSubjectId());
 | 
	
		
			
				|  |  |                  groupCard.setSubjectName(idSubjectMap.get(teacherCourseGroup.getSubjectId()).getName());
 | 
	
		
			
				|  |  |                  GroupCourseTimesDto groupCourseTimesInfo = groupCourseTimesInfoMap.get(String.valueOf(teacherCourseGroup.getId()));
 | 
	
		
			
				|  |  | -                groupCard.setCoursesStartDate(groupCourseTimesInfo.getStartDate());
 | 
	
		
			
				|  |  | -                groupCard.setCoursesEndDate(groupCourseTimesInfo.getEndDate());
 | 
	
		
			
				|  |  | +                GroupValidDateDto groupValidDate = groupValidateMap.get(String.valueOf(teacherCourseGroup.getId()));
 | 
	
		
			
				|  |  | +                groupCard.setCoursesStartDate(groupValidDate.getStartDate());
 | 
	
		
			
				|  |  | +                groupCard.setCoursesEndDate(groupValidDate.getEndDate());
 | 
	
		
			
				|  |  |                  groupCard.setClassGroupId(groupCourseTimesInfo.getClassGroupId());
 | 
	
		
			
				|  |  |                  groupCard.setTotalCourseTimes(groupCourseTimesInfo.getTotalCourseTimes());
 | 
	
		
			
				|  |  |                  groupCard.setSurplusClassTimes(groupCourseTimesInfo.getSurplusClassTimes());
 | 
	
	
		
			
				|  | @@ -607,4 +614,14 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 | 
	
		
			
				|  |  |                      userMap, null, 0, null, "TEACHER", noStudentsGroup.getName());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void finishCourseGroup() {
 | 
	
		
			
				|  |  | +        List<CoursesGroup> noCoursesGroups = coursesGroupDao.findNoCoursesGroups();
 | 
	
		
			
				|  |  | +        if(CollectionUtils.isEmpty(noCoursesGroups)){
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<Long> groupIds = noCoursesGroups.stream().map(CoursesGroup::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        coursesGroupDao.updateGroupStatus(groupIds, GroupStatusEnum.FINISH);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |