|
@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.google.common.collect.Maps;
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
@@ -34,6 +35,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.collections.ListUtils;
|
|
import org.apache.commons.collections.ListUtils;
|
|
import org.apache.commons.collections.MapUtils;
|
|
import org.apache.commons.collections.MapUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -1101,6 +1103,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|| cs.getType().equals(CourseScheduleType.COMM))
|
|
|| cs.getType().equals(CourseScheduleType.COMM))
|
|
.map(CourseScheduleDto::getId).collect(Collectors.toList());
|
|
.map(CourseScheduleDto::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
+ // 直播课设置直播间信息
|
|
|
|
+ Map<String, ImLiveBroadcastRoomDto> liveRoomMap = getLiveRoomMap(studentCourseSchedulesWithDate);
|
|
|
|
+
|
|
Map<Integer, String> subjectNameCourseMap = new HashMap<>();
|
|
Map<Integer, String> subjectNameCourseMap = new HashMap<>();
|
|
Map<Integer, String> subjectIdCourseMap = new HashMap<>();
|
|
Map<Integer, String> subjectIdCourseMap = new HashMap<>();
|
|
Map<Integer, Integer> reviewIdMap = new HashMap<>();
|
|
Map<Integer, Integer> reviewIdMap = new HashMap<>();
|
|
@@ -1140,12 +1145,43 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
if(CourseScheduleType.PRACTICE.equals(courseScheduleDto.getType())&&Objects.nonNull(courseScheduleDto.getMusicGroupId())){
|
|
if(CourseScheduleType.PRACTICE.equals(courseScheduleDto.getType())&&Objects.nonNull(courseScheduleDto.getMusicGroupId())){
|
|
courseScheduleDto.setPracticeType(practiceGroupTypeMap.get(Long.valueOf(courseScheduleDto.getMusicGroupId())));
|
|
courseScheduleDto.setPracticeType(practiceGroupTypeMap.get(Long.valueOf(courseScheduleDto.getMusicGroupId())));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 设置直播间配置
|
|
|
|
+ courseScheduleDto.setLiveBroadcastRoom(liveRoomMap.get(courseScheduleDto.getMusicGroupId()));
|
|
}
|
|
}
|
|
result.put("list", studentCourseSchedulesWithDate);
|
|
result.put("list", studentCourseSchedulesWithDate);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 直播课设置直播间信息
|
|
|
|
+ * @param studentCourseSchedulesWithDate List<CourseScheduleDto>
|
|
|
|
+ * @return Map<String, ImLiveBroadcastRoomDto>
|
|
|
|
+ */
|
|
|
|
+ private Map<String, ImLiveBroadcastRoomDto> getLiveRoomMap(List<CourseScheduleDto> studentCourseSchedulesWithDate) {
|
|
|
|
+
|
|
|
|
+ Map<String, ImLiveBroadcastRoomDto> liveRoomMap = Maps.newHashMap();
|
|
|
|
+ {
|
|
|
|
+ Map<Long, String> collect = studentCourseSchedulesWithDate.stream()
|
|
|
|
+ .filter(x -> x.getType().equals(CourseScheduleType.LIVE))
|
|
|
|
+ .collect(Collectors.toMap(CourseSchedule::getId, CourseSchedule::getMusicGroupId, (o, n) -> n));
|
|
|
|
+
|
|
|
|
+ if (MapUtils.isNotEmpty(collect)) {
|
|
|
|
+
|
|
|
|
+ List<Long> liveGroupIds = collect.values().stream().map(Long::parseLong).distinct().collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ liveRoomMap = vipGroupDao.getVipGroupByIds(liveGroupIds).stream()
|
|
|
|
+ .filter(x -> Objects.nonNull(x.getLiveConfigJson()))
|
|
|
|
+ .collect(Collectors.toMap(x -> String.valueOf(x.getId()),
|
|
|
|
+ x -> JSON.parseObject(x.getLiveConfigJson(), ImLiveBroadcastRoomDto.class), (o, n) -> n));
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return liveRoomMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
public PageInfo getCourseSchedulesWithDateByEdu(CourseScheduleQueryInfo queryInfo) {
|
|
public PageInfo getCourseSchedulesWithDateByEdu(CourseScheduleQueryInfo queryInfo) {
|
|
// queryInfo.setOrganId(Long.parseLong(user.getOrganId()));
|
|
// queryInfo.setOrganId(Long.parseLong(user.getOrganId()));
|
|
PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
@@ -1233,6 +1269,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
cs.getType().equals(CourseScheduleType.COMM))
|
|
cs.getType().equals(CourseScheduleType.COMM))
|
|
.map(CourseScheduleDto::getId).collect(Collectors.toList());
|
|
.map(CourseScheduleDto::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
+ // 直播课设置直播间信息
|
|
|
|
+ Map<String, ImLiveBroadcastRoomDto> liveRoomMap = getLiveRoomMap(teacherCourseSchedulesWithDate);
|
|
|
|
+
|
|
Map<Integer, String> subjectNameCourseMap = new HashMap<>();
|
|
Map<Integer, String> subjectNameCourseMap = new HashMap<>();
|
|
Map<Integer, String> subjectIdCourseMap = new HashMap<>();
|
|
Map<Integer, String> subjectIdCourseMap = new HashMap<>();
|
|
if (!CollectionUtils.isEmpty(courseScheduleIds)) {
|
|
if (!CollectionUtils.isEmpty(courseScheduleIds)) {
|
|
@@ -1317,6 +1356,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
if(homeworkCourseIds.contains(courseScheduleDto.getId())){
|
|
if(homeworkCourseIds.contains(courseScheduleDto.getId())){
|
|
courseScheduleDto.setEnableAssignHomework(1);
|
|
courseScheduleDto.setEnableAssignHomework(1);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 直播课直播间配置
|
|
|
|
+ courseScheduleDto.setLiveBroadcastRoom(liveRoomMap.get(courseScheduleDto.getMusicGroupId()));
|
|
}
|
|
}
|
|
return teacherCourseSchedulesWithDate;
|
|
return teacherCourseSchedulesWithDate;
|
|
}
|
|
}
|