|
|
@@ -1,5 +1,30 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Comparator;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.CourseMusicAlbumRelationDto;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CourseRelationMusicAlbum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.course.CourseTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.CourseRelationMusicAlbumService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.VideoLessonPurchaseRecordService;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.VideoLessonGroupDetailDto;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
@@ -241,12 +266,10 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
|
|
|
/**
|
|
|
* 处理课程曲目关联关系
|
|
|
+ * @param lessonGroup
|
|
|
*/
|
|
|
- private void courseMusicAlbumRelation(VideoLessonGroup lessonGroup) {
|
|
|
+ private void courseMusicAlbumRelation(List<VideoLessonGroupDetailDto> lessonList,Long lessonGroupId) {
|
|
|
// 设置关联曲目
|
|
|
- VideoLessonGroupLog videoLessonGroupLog = videoLessonGroupLogService.queryLastestShelvesInfo(
|
|
|
- lessonGroup.getId());
|
|
|
- List<VideoLessonGroupDetailDto> videoLessonGroupDetailDtoList = JsonUtil.parseArray(videoLessonGroupLog.getVideoDetailJson(), VideoLessonGroupDetailDto.class);
|
|
|
|
|
|
// 需要更新的关联数据
|
|
|
List<CourseRelationMusicAlbum> updateCourseRelationMusicAlbums = new ArrayList<>();
|
|
|
@@ -255,7 +278,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
|
|
|
// 查询课程组所有的关联曲目
|
|
|
List<CourseRelationMusicAlbum> relationMusicAlbumList = courseRelationMusicAlbumService.lambdaQuery()
|
|
|
- .eq(CourseRelationMusicAlbum::getCourseGroupId, lessonGroup.getId())
|
|
|
+ .eq(CourseRelationMusicAlbum::getCourseGroupId, lessonGroupId)
|
|
|
.ne(CourseRelationMusicAlbum::getDelFlog, 0)
|
|
|
.list();
|
|
|
Map<Long, List<CourseRelationMusicAlbum>> courseRelationMusicAlbumList = new HashMap<>();
|
|
|
@@ -267,7 +290,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
|
|
|
// 需要更新的id
|
|
|
List<Long> updateCourseRelationIdList = new ArrayList<>();
|
|
|
- for (VideoLessonGroupDetailDto videoLessonGroupDetailDto : videoLessonGroupDetailDtoList) {
|
|
|
+ for (VideoLessonGroupDetailDto videoLessonGroupDetailDto : lessonList) {
|
|
|
// 需要修改的关联数据
|
|
|
List<CourseMusicAlbumRelationDto> relationList = videoLessonGroupDetailDto.getRelationList();
|
|
|
|
|
|
@@ -307,7 +330,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
}
|
|
|
// 删除关联数据
|
|
|
courseRelationMusicAlbumService.lambdaUpdate()
|
|
|
- .eq(CourseRelationMusicAlbum::getCourseGroupId, videoLessonGroupLog.getVideoLessonGroupId())
|
|
|
+ .eq(CourseRelationMusicAlbum::getCourseGroupId, lessonGroupId)
|
|
|
.eq(CourseRelationMusicAlbum::getCourseType,CourseTypeEnum.VIDEO)
|
|
|
.notIn(CourseRelationMusicAlbum::getId,updateCourseRelationIdList)
|
|
|
.set(CourseRelationMusicAlbum::getDelFlog,0)
|
|
|
@@ -315,11 +338,12 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
.update();
|
|
|
|
|
|
// 保存更新的关联数据
|
|
|
- courseRelationMusicAlbumService.updateBatchById(updateCourseRelationMusicAlbums);
|
|
|
- courseRelationMusicAlbumService.saveOrUpdateBatch(addCourseRelationMusicAlbums);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ if (CollectionUtils.isNotEmpty(updateCourseRelationMusicAlbums)) {
|
|
|
+ courseRelationMusicAlbumService.updateBatchById(updateCourseRelationMusicAlbums);
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(addCourseRelationMusicAlbums)) {
|
|
|
+ courseRelationMusicAlbumService.saveOrUpdateBatch(addCourseRelationMusicAlbums);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -420,8 +444,6 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
lessonGroup.setDraftFlag(YesOrNoEnum.NO);
|
|
|
}
|
|
|
|
|
|
- // 设置关联曲目
|
|
|
- courseMusicAlbumRelation(lessonGroup);
|
|
|
|
|
|
if (YesOrNoEnum.YES.equals(lessonGroup.getDraftFlag())) {
|
|
|
VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
|
|
|
@@ -441,6 +463,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
|
|
|
videoLessonGroupLogService.insert(videoLessonGroupLog);
|
|
|
}
|
|
|
+
|
|
|
+ // 设置关联曲目
|
|
|
+ courseMusicAlbumRelation(lessonList,lessonGroup.getId());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -608,7 +633,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
videoLessonGroupDao.updateById(lessonGroup);
|
|
|
|
|
|
// 设置关联曲目
|
|
|
- courseMusicAlbumRelation(lessonGroup);
|
|
|
+ courseMusicAlbumRelation(lessonList,lessonGroup.getId());
|
|
|
//刷新统计
|
|
|
VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
|
|
|
groupUpVo.setId(lessonGroup.getId());
|