Ver código fonte

Merge branch 'dev_v1.3.7_20221020' of http://git.dayaedu.com/yonge/cooleshow into dev_v1.3.7_20221020

# Conflicts:
#	service.md
Eric 2 anos atrás
pai
commit
e93be9feb1

+ 16 - 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;
@@ -215,6 +210,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
             teacherService.setTeacherTag(lessonGroup.getTeacherId(), TeacherTagEnum.VIDEO);
 
             // 设置关联的曲目
+            courseRelationMusicAlbumService.asyncUpdateCourseRelationMusicAlbumInfo(examineVo.getId(),CourseTypeEnum.VIDEO);
 
         }
 
@@ -247,11 +243,8 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     /**
      * 处理课程曲目关联关系
      */
-    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<>();
@@ -260,7 +253,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<>();
@@ -272,7 +265,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();
 
@@ -295,6 +288,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
                 courseRelationMusicAlbum.setCourseGroupId(videoLessonGroupDetailDto.getVideoLessonGroupId());
                 courseRelationMusicAlbum.setCourseId(videoLessonGroupDetailDto.getId());
                 courseRelationMusicAlbum.setCourseType(CourseTypeEnum.VIDEO);
+                courseRelationMusicAlbum.setMusicAlbumId(courseMusicAlbumRelationDto.getMusicAlbumId());
                 courseRelationMusicAlbum.setDelFlog(1);
                 courseRelationMusicAlbum.setRelationType(courseMusicAlbumRelationDto.getRelationMusicAlbum());
                 courseRelationMusicAlbum.setUseRelationType(courseMusicAlbumRelationDto.getUseRelationType());
@@ -312,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)
@@ -320,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
@@ -425,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();
@@ -446,6 +439,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
 
             videoLessonGroupLogService.insert(videoLessonGroupLog);
         }
+
+        // 设置关联曲目
+        courseMusicAlbumRelation(lessonList,lessonGroup.getId());
     }
 
     /**
@@ -612,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());

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -435,7 +435,7 @@
 				<![CDATA[AND g.create_time_ <= #{param.endTime} ]]>
 			</if>
 		</where>
-		ORDER BY g.create_time_
+		ORDER BY g.id_ desc
 	</select>
 
 	<select id="queryGroupHistoryList" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup">