Browse Source

1、点名时间限制

Joburgess 5 năm trước cách đây
mục cha
commit
a097ace090

+ 10 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -363,6 +363,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 		Date now=new Date();
 		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type);
+		List<Long> allCourseScheduleIds = teacherCourseSchedulesWithDate.stream().map(CourseScheduleDto::getId).collect(Collectors.toList());
 		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());
@@ -373,20 +374,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
 		}
 		List<Map<Integer, Integer>> studentNumCourseMaps=null;
-		if(!CollectionUtils.isEmpty(courseScheduleIds)){
-			studentNumCourseMaps = studentAttendanceDao.countStudentAttendancesByCourses(courseScheduleIds);
+		if(!CollectionUtils.isEmpty(allCourseScheduleIds)){
+			studentNumCourseMaps = studentAttendanceDao.countStudentAttendancesByCourses(allCourseScheduleIds);
 		}
-		Map<Integer, Integer> studentNumCourseMap=new HashMap<>();
+		Map<Integer, Long> studentNumCourseMap=new HashMap<>();
 		if(Objects.nonNull(studentNumCourseMaps)){
 			studentNumCourseMap=MapUtil.convertIntegerMap(studentNumCourseMaps);
 		}
 		for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
-//			Integer studentNum=Integer.valueOf(studentNumCourseMap.get(courseScheduleDto.getId()));
-//			if(Objects.nonNull(studentNum)){
-//				courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum>0?0:1);
-//			}else{
-//				courseScheduleDto.setStudentAttendanceIsFirstTime(1);
-//			}
+			Long studentNum=studentNumCourseMap.get(courseScheduleDto.getId());
+			if(Objects.nonNull(studentNum)){
+				courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum>0?0:1);
+			}else{
+				courseScheduleDto.setStudentAttendanceIsFirstTime(1);
+			}
 
 			if(now.before(courseScheduleDto.getStartClassTime())){
 				courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -87,7 +87,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		SysConfig attendanceTimeRange = sysConfigService.findByParamName(SysConfigService.ENABLE_STUDENT_ATTENDANCE_TIME_RANGE);
 		int courseEndTime = DateUtil.minutesBetween(courseSchedule.getEndClassTime(), date);
 		if(date.after(courseSchedule.getEndClassTime())&&courseEndTime>attendanceTimeRange.getParanValue(Integer.class)){
-			throw new BizException("可点名时间范围为课程结束后一小时内");
+			throw new BizException("程结束一小时后禁止点名");
 		}
 		studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
 		int classTimes=courseScheduleDao.countClassTimes(courseSchedule.getClassGroupId().longValue(),courseSchedule.getStartClassTime());