|
@@ -242,7 +242,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
//根据firstDay计算出该月的最后一天
|
|
|
LocalDate lastDay = firstDay.with(TemporalAdjusters.lastDayOfMonth());
|
|
|
//获取老师的课程 key:日期-年月日 value:课程时间-开始时间,结束时间
|
|
|
- Map<String, List<CourseTimeEntity>> nowCourseMap = getTeacherCourseTime(teacherId, firstDay.toString(), lastDay.toString());
|
|
|
+ Map<String, List<CourseTimeEntity>> nowCourseMap = getCourseListMap(getTeacherCourseTime(teacherId, firstDay.toString(), lastDay.toString()));
|
|
|
//生成日历数据
|
|
|
List<CourseCalendarEntity> courseCalendarEntities = generateCourseData(firstDay, lastDay, singleCourseMinutes, freeCourseMinutes);
|
|
|
//对比课程数据,筛选出空余的课程时间
|
|
@@ -310,14 +310,16 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
* @param endDate 结束时间
|
|
|
* @return key:日期-年月日 value:课程时间-开始时间,结束时间
|
|
|
*/
|
|
|
- private Map<String, List<CourseTimeEntity>> getTeacherCourseTime(Long teacherId, String startDate, String endDate) {
|
|
|
+ private List<CourseSchedule> getTeacherCourseTime(Long teacherId, String startDate, String endDate) {
|
|
|
+ //未开始、进行中的课程
|
|
|
+ List<String> statusList = Lists.newArrayList(CourseScheduleEnum.NOT_START.getCode(), CourseScheduleEnum.ING.getCode());
|
|
|
//查询该老师指定时间段的课程
|
|
|
- List<CourseSchedule> courseList = this.list(Wrappers.<CourseSchedule>lambdaQuery()
|
|
|
+ return this.list(Wrappers.<CourseSchedule>lambdaQuery()
|
|
|
.eq(CourseSchedule::getTeacherId, teacherId)
|
|
|
+ .in(CourseSchedule::getStatus, statusList)
|
|
|
.ge(CourseSchedule::getClassDate, startDate)
|
|
|
.le(CourseSchedule::getClassDate, endDate)
|
|
|
);
|
|
|
- return getCourseListMap(courseList);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -533,24 +535,17 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
* @param studentId 学员id
|
|
|
*/
|
|
|
private Map<String, List<CourseTimeEntity>> getAllPracticeCourseTime(Long teacherId, Long studentId, String startDate, String endDate) {
|
|
|
- //未开始、进行中的课程
|
|
|
- List<String> statusList = Lists.newArrayList(CourseScheduleEnum.NOT_START.getCode(), CourseScheduleEnum.ING.getCode());
|
|
|
- //查询该老师指定时间段的课程
|
|
|
- List<CourseSchedule> courseList = this.list(Wrappers.<CourseSchedule>lambdaQuery()
|
|
|
- .eq(CourseSchedule::getTeacherId, teacherId)
|
|
|
- .in(CourseSchedule::getStatus, statusList)
|
|
|
- .ge(CourseSchedule::getClassDate, startDate)
|
|
|
- .le(CourseSchedule::getClassDate, endDate)
|
|
|
- );
|
|
|
+ //获取老师的课程时间数据
|
|
|
+ List<CourseSchedule> courseList = getTeacherCourseTime(teacherId, startDate, endDate);
|
|
|
if (CollectionUtils.isEmpty(courseList)) {
|
|
|
courseList = new ArrayList<>();
|
|
|
}
|
|
|
- //查询学生的课程
|
|
|
+ //查询学生的课程;
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("studentId", studentId);
|
|
|
param.put("startClassDate", startDate);
|
|
|
param.put("endClassDate", endDate);
|
|
|
- param.put("statusList", statusList);
|
|
|
+ param.put("statusList", Lists.newArrayList(CourseScheduleEnum.NOT_START.getCode(), CourseScheduleEnum.ING.getCode()));
|
|
|
List<CourseSchedule> studentCourse = baseMapper.queryStudentCourse(param);
|
|
|
//将数据合并
|
|
|
if (CollectionUtils.isNotEmpty(studentCourse)) {
|
|
@@ -1116,30 +1111,30 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
|
|
|
Map<Long, String> teacherSms = new HashMap<>();
|
|
|
teacherSms.put(sysUser.getId(), sysUser.getPhone());
|
|
|
|
|
|
- Integer liveCount=0;
|
|
|
- Integer practiceCount=0;
|
|
|
- List<CountVo> typeCount=baseMapper.selectTypeCount(sysUser.getId(),tomorrow);
|
|
|
+ Integer liveCount = 0;
|
|
|
+ Integer practiceCount = 0;
|
|
|
+ List<CountVo> typeCount = baseMapper.selectTypeCount(sysUser.getId(), tomorrow);
|
|
|
for (CountVo countVo : typeCount) {
|
|
|
if (countVo.getType().equals(CourseScheduleEnum.LIVE.getCode())) {
|
|
|
- liveCount=countVo.getCount();
|
|
|
+ liveCount = countVo.getCount();
|
|
|
}
|
|
|
if (countVo.getType().equals(CourseScheduleEnum.PRACTICE.getCode())) {
|
|
|
- practiceCount=countVo.getCount();
|
|
|
+ practiceCount = countVo.getCount();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//老师端-明日课程提醒
|
|
|
- String teacherUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_TOMORROW_COURSE_REMINDER.getCode());
|
|
|
+ String teacherUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.TOMORROW_COURSE_REMINDER.getCode());
|
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TOMORROW_COURSE_REMINDER,
|
|
|
teacherReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
|
|
|
- practiceCount.toString(),liveCount.toString(),teacherUrl);
|
|
|
- log.info("send success {}",MessageTypeEnum.TOMORROW_COURSE_REMINDER);
|
|
|
+ practiceCount.toString(), liveCount.toString(), teacherUrl);
|
|
|
+ log.info("send success {}", MessageTypeEnum.TOMORROW_COURSE_REMINDER);
|
|
|
|
|
|
//老师端-明日课程提醒(短信)
|
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_TOMORROW_COURSE_REMINDER,
|
|
|
teacherSms, null, 0, null, null,
|
|
|
practiceCount, liveCount);
|
|
|
- log.info("send success {}",MessageTypeEnum.SMS_STUDENT_BUY_PRACTICE);
|
|
|
+ log.info("send success {}", MessageTypeEnum.SMS_STUDENT_BUY_PRACTICE);
|
|
|
}
|
|
|
}
|
|
|
}
|