|
@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.CourseMusicAlbumRelationDto;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.CourseRelationMusicAlbum;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
|
|
@@ -235,29 +236,55 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
|
|
|
|
|
|
VideoLessonSearch search = new VideoLessonSearch();
|
|
|
search.setVideoLessonGroupId(groupId);
|
|
|
- lessonStudentVo.setDetailList(JsonUtil.parseArray(videoLessonGroupLog.getVideoDetailJson(), VideoLessonGroupDetail.class));
|
|
|
+ lessonStudentVo.setDetailList(JsonUtil.parseArray(videoLessonGroupLog.getVideoDetailJson(), VideoLessonGroupDetailDto.class));
|
|
|
|
|
|
+ List<CourseMusicAlbumRelationDto> relationMusicAlbums = lessonStudentVo.getDetailList().stream()
|
|
|
+ .flatMap(x -> x.getRelationList().stream()).collect(Collectors.toList());
|
|
|
// 课程关联曲目、专辑信息
|
|
|
- List<CourseRelationMusicAlbum> recordInfos = courseRelationMusicAlbumService.lambdaQuery()
|
|
|
- .eq(CourseRelationMusicAlbum::getCourseGroupId, groupId)
|
|
|
- .list();
|
|
|
+ List<CourseRelationMusicAlbum> recordInfos = JSON.parseArray(JSON.toJSONString(relationMusicAlbums),
|
|
|
+ CourseRelationMusicAlbum.class);
|
|
|
|
|
|
- List<CourseRelationWrapper.MusicAlbumInfo> musicAlbumInfos = Lists.newArrayList();
|
|
|
+ List<CourseRelationWrapper.MusicAlbumInfo> musicAlbumInfos;
|
|
|
if (CollectionUtils.isNotEmpty(recordInfos)) {
|
|
|
|
|
|
musicAlbumInfos = getCourseRelationMusicAlbumInfos(recordInfos);
|
|
|
+
|
|
|
+ // 填充课程关联曲目、专辑信息
|
|
|
+ updateCourseRelationMusicAlbumInfo(lessonStudentVo, musicAlbumInfos);
|
|
|
}
|
|
|
- lessonStudentVo.setMusicAlbumInfos(musicAlbumInfos);
|
|
|
+ //lessonStudentVo.setMusicAlbumInfos(musicAlbumInfos);
|
|
|
|
|
|
|
|
|
return lessonStudentVo;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 填充课程关联曲目、专辑信息
|
|
|
+ * @param lessonStudentVo VideoLessonStudentVo
|
|
|
+ * @param musicAlbumInfos List<CourseRelationWrapper.MusicAlbumInfo>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateCourseRelationMusicAlbumInfo(VideoLessonStudentVo lessonStudentVo,
|
|
|
+ List<CourseRelationWrapper.MusicAlbumInfo> musicAlbumInfos) {
|
|
|
+
|
|
|
+ Map<Long, List<CourseRelationWrapper.MusicAlbumInfo>> collect = musicAlbumInfos.stream()
|
|
|
+ .collect(Collectors.groupingBy(CourseRelationWrapper.MusicAlbumInfo::getCourseId));
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(lessonStudentVo.getDetailList())) {
|
|
|
+
|
|
|
+ for (VideoLessonGroupDetailDto item : lessonStudentVo.getDetailList()) {
|
|
|
+
|
|
|
+ item.setMusicAlbumInfos(collect.getOrDefault(item.getId(), Lists.newArrayList()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 课程关联曲目/专辑信息
|
|
|
* @param recordInfos
|
|
|
* @return List<CourseRelationWrapper.MusicAlbumInfo>
|
|
|
*/
|
|
|
+ @Override
|
|
|
public List<CourseRelationWrapper.MusicAlbumInfo> getCourseRelationMusicAlbumInfos(List<CourseRelationMusicAlbum> recordInfos) {
|
|
|
|
|
|
List<CourseRelationWrapper.MusicAlbumInfo> musicAlbumInfos = JSON.parseArray(JSON.toJSONString(recordInfos),
|