hgw 3 anni fa
parent
commit
ad2157bf8c

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.constant.CourseConstant;
 import com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant;
+import com.yonge.cooleshow.biz.dal.constant.SysConfigConstant;
 import com.yonge.cooleshow.biz.dal.dao.CourseGroupDao;
 import com.yonge.cooleshow.biz.dal.dto.CheckLiveCourseTimeDto;
 import com.yonge.cooleshow.biz.dal.dto.LiveCourseGroupDto;
@@ -115,6 +116,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
             int nowCourseNum = timeList.size();
             //自动排课,获取排课后所有的课程时间
             List<CourseTimeEntity> allCourseTime = teacherAutoPlanningLiveCourseTime(dto.getTeacherId(), totalCourseNum, nowCourseNum, timeList);
+            allCourseTime.sort(Comparator.comparing(CourseTimeEntity::getStartTime));
             //替换掉原有的课时
             dto.setTimeList(allCourseTime);
             //将自动排课后的课时写入缓存覆盖原有的
@@ -142,7 +144,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                 .sorted(Comparator.comparing(CourseTimeEntity::getStartTime))
                 .collect(Collectors.toList());
         //获取最大排课周
-        String maxWeekStr = sysConfigService.findConfigValue("auto_planning_course_max_week");
+        String maxWeekStr = sysConfigService.findConfigValue(SysConfigConstant.AUTO_PLANNING_COURSE_MAX_WEEK);
         int maxWeek = 26;//默认 26周
         if (StringUtils.isBlank(maxWeekStr)) {
             maxWeek = Integer.parseInt(maxWeekStr);

+ 22 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -1,6 +1,5 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -491,6 +490,28 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
     public Map<String, Object> test(String roomUid) {
         //result
         Map<String, Object> result = new HashMap<>();
+        //模拟排课数据 测试用
+        CheckLiveCourseTimeDto dto = new CheckLiveCourseTimeDto();
+        dto.setTeacherId(99L);
+        dto.setCourseNum(6);
+        dto.setLoop(1);
+
+        List<CourseTimeEntity> timeList = new ArrayList<>();
+        CourseTimeEntity c1 = new CourseTimeEntity();
+        c1.setStartTime(DateUtil.stringToDate("2022-04-01 09:00:00", DateUtil.EXPANDED_DATE_TIME_FORMAT));
+        c1.setEndTime(DateUtil.stringToDate("2022-04-01 09:30:00", DateUtil.EXPANDED_DATE_TIME_FORMAT));
+        CourseTimeEntity c2 = new CourseTimeEntity();
+        c2.setStartTime(DateUtil.stringToDate("2022-04-08 09:00:00", DateUtil.EXPANDED_DATE_TIME_FORMAT));
+        c2.setEndTime(DateUtil.stringToDate("2022-04-08 09:30:00", DateUtil.EXPANDED_DATE_TIME_FORMAT));
+        CourseTimeEntity c3 = new CourseTimeEntity();
+        c3.setStartTime(DateUtil.stringToDate("2022-04-02 09:00:00", DateUtil.EXPANDED_DATE_TIME_FORMAT));
+        c3.setEndTime(DateUtil.stringToDate("2022-04-02 09:30:00", DateUtil.EXPANDED_DATE_TIME_FORMAT));
+        timeList.add(c3);
+        timeList.add(c1);
+        timeList.add(c2);
+        dto.setTimeList(timeList);
+        List<CourseTimeEntity> courseTimeEntities = courseGroupService.lockCourseToCache(dto);
+        result.put("自动生成课时", courseTimeEntities);
 
         //获取房间信息
         RBucket<RoomInfoCache> speakerCache = redissonClient.getBucket(LIVE_ROOM_INFO.replace(ROOM_UID, roomUid));