Browse Source

修改直播课创建日历查询时间只查询未开始和进行中的课程时间

hgw 3 years ago
parent
commit
7b8d60d353

+ 18 - 23
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -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,15 +1111,15 @@ 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();
                     }
                 }
 
@@ -1132,14 +1127,14 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 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);
             }
         }
     }