Forráskód Böngészése

fix:设置视频课关联曲目

liujunchi 2 éve
szülő
commit
c6c2099465

+ 15 - 20
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java

@@ -8,13 +8,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import com.google.common.collect.Lists;
 import com.yonge.cooleshow.biz.dal.dto.CourseMusicAlbumRelationDto;
 import com.yonge.cooleshow.biz.dal.entity.CourseRelationMusicAlbum;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
-import com.yonge.cooleshow.biz.dal.entity.VideoLessonPurchaseRecord;
-import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
-import com.yonge.cooleshow.biz.dal.enums.course.CourseRelationTypeEnum;
 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;
@@ -247,12 +242,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<>();
@@ -261,7 +254,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<>();
@@ -273,7 +266,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();
 
@@ -313,7 +306,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)
@@ -321,11 +314,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
@@ -426,8 +420,6 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
             lessonGroup.setDraftFlag(YesOrNoEnum.NO);
         }
 
-        // 设置关联曲目
-        courseMusicAlbumRelation(lessonGroup);
 
         if (YesOrNoEnum.YES.equals(lessonGroup.getDraftFlag())) {
             VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
@@ -447,6 +439,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
 
             videoLessonGroupLogService.insert(videoLessonGroupLog);
         }
+
+        // 设置关联曲目
+        courseMusicAlbumRelation(lessonList,lessonGroup.getId());
     }
 
     /**
@@ -613,7 +608,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         videoLessonGroupDao.updateById(lessonGroup);
 
         // 设置关联曲目
-        courseMusicAlbumRelation(lessonGroup);
+        courseMusicAlbumRelation(lessonList,lessonGroup.getId());
         //刷新统计
         VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
         groupUpVo.setId(lessonGroup.getId());