|
@@ -1,5 +1,6 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -8,10 +9,18 @@ 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.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;
|
|
@@ -106,6 +115,13 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
@Autowired
|
|
|
private CourseRelationMusicAlbumService courseRelationMusicAlbumService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private VideoLessonPurchaseRecordService videoLessonPurchaseRecordService;
|
|
|
+
|
|
|
public VideoLessonGroupDao getDao() {
|
|
|
return videoLessonGroupDao;
|
|
|
}
|
|
@@ -198,6 +214,75 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
teacherService.setTeacherTag(lessonGroup.getTeacherId(), TeacherTagEnum.VIDEO);
|
|
|
}
|
|
|
|
|
|
+ // 设置关联曲目
|
|
|
+ VideoLessonGroupLog videoLessonGroupLog = videoLessonGroupLogService.queryLastestShelvesInfo(
|
|
|
+ lessonGroup.getId());
|
|
|
+ List<VideoLessonGroupDetailDto> videoLessonGroupDetailDtoList = JsonUtil.parseArray(videoLessonGroupLog.getVideoDetailJson(), VideoLessonGroupDetailDto.class);
|
|
|
+
|
|
|
+ List<CourseRelationMusicAlbum> updateCourseRelationMusicAlbums = new ArrayList<>();
|
|
|
+ List<CourseRelationMusicAlbum> addCourseRelationMusicAlbums = new ArrayList<>();
|
|
|
+ List<Long> updateCourseRelationIdList = new ArrayList<>();
|
|
|
+ for (VideoLessonGroupDetailDto videoLessonGroupDetailDto : videoLessonGroupDetailDtoList) {
|
|
|
+ List<CourseMusicAlbumRelationDto> relationList = videoLessonGroupDetailDto.getRelationList();
|
|
|
+ for (CourseMusicAlbumRelationDto courseMusicAlbumRelationDto : relationList) {
|
|
|
+ CourseRelationMusicAlbum courseRelationMusicAlbum = new CourseRelationMusicAlbum();
|
|
|
+ if (courseMusicAlbumRelationDto.getRelationId() != null && courseMusicAlbumRelationDto.getRelationId() != 0) {
|
|
|
+ updateCourseRelationIdList.add(courseMusicAlbumRelationDto.getMusicAlbumId());
|
|
|
+ courseRelationMusicAlbum.setId(courseMusicAlbumRelationDto.getRelationId());
|
|
|
+ }
|
|
|
+ courseRelationMusicAlbum.setCourseGroupId(videoLessonGroupDetailDto.getVideoLessonGroupId());
|
|
|
+ courseRelationMusicAlbum.setCourseId(videoLessonGroupDetailDto.getId());
|
|
|
+ courseRelationMusicAlbum.setCourseType(CourseTypeEnum.VIDEO);
|
|
|
+ courseRelationMusicAlbum.setRelationType(courseMusicAlbumRelationDto.getRelationMusicAlbum());
|
|
|
+ courseRelationMusicAlbum.setUseRelationType(courseMusicAlbumRelationDto.getUseRelationType());
|
|
|
+ courseRelationMusicAlbum.setDelFlog(1);
|
|
|
+ courseRelationMusicAlbum.setUpdateBy(videoLessonGroupDetailDto.getUpdateBy());
|
|
|
+ courseRelationMusicAlbum.setUpdateTime(new Date());
|
|
|
+ if (courseRelationMusicAlbum.getId() == null) {
|
|
|
+ courseRelationMusicAlbum.setCreateBy(videoLessonGroupDetailDto.getUpdateBy());
|
|
|
+ courseRelationMusicAlbum.setCreateTime(new Date());
|
|
|
+ courseRelationMusicAlbum.setDelFlog(2);
|
|
|
+ addCourseRelationMusicAlbums.add(courseRelationMusicAlbum);
|
|
|
+ } else {
|
|
|
+ updateCourseRelationMusicAlbums.add(courseRelationMusicAlbum);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 查出需要删除的关联数据
|
|
|
+ List<CourseRelationMusicAlbum> list = courseRelationMusicAlbumService.lambdaQuery()
|
|
|
+ .eq(CourseRelationMusicAlbum::getCourseGroupId, videoLessonGroupLog.getVideoLessonGroupId())
|
|
|
+ .eq(CourseRelationMusicAlbum::getCourseType,CourseTypeEnum.VIDEO)
|
|
|
+ .notIn(CourseRelationMusicAlbum::getId,updateCourseRelationIdList).list();
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ List<Long> idList = list.stream().map(CourseRelationMusicAlbum::getId).collect(Collectors.toList());
|
|
|
+ courseRelationMusicAlbumService.lambdaUpdate()
|
|
|
+ .in(CourseRelationMusicAlbum::getId,idList)
|
|
|
+ .set(CourseRelationMusicAlbum::getDelFlog,0)
|
|
|
+ .update();
|
|
|
+
|
|
|
+ // 删除赠送记录
|
|
|
+ musicSheetPurchaseRecordService.remove(Wrappers.<MusicSheetPurchaseRecord>lambdaQuery()
|
|
|
+ .in(MusicSheetPurchaseRecord::getCourseMusicAlbumId,idList));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 保存更新的关联数据
|
|
|
+ courseRelationMusicAlbumService.updateBatchById(updateCourseRelationMusicAlbums);
|
|
|
+ courseRelationMusicAlbumService.saveOrUpdateBatch(addCourseRelationMusicAlbums);
|
|
|
+
|
|
|
+ // 更新赠送记录
|
|
|
+ musicSheetPurchaseRecordService.updateCourseMusicAlbum(updateCourseRelationMusicAlbums);
|
|
|
+
|
|
|
+ // 添加赠送记录
|
|
|
+
|
|
|
+ // // 查询购买人员
|
|
|
+ // List<VideoLessonPurchaseRecord> videoLessonPurchaseRecords = videoLessonPurchaseRecordService.lambdaQuery()
|
|
|
+ // .eq(VideoLessonPurchaseRecord::getOrderStatus, OrderStatusEnum.PAID)
|
|
|
+ // .eq(VideoLessonPurchaseRecord::getVideoLessonGroupId, videoLessonGroupLog.getVideoLessonGroupId())
|
|
|
+ // .list();
|
|
|
+ // // 赠送
|
|
|
+ // MusicSheetPurchaseRecord musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
|
|
|
+
|
|
|
+
|
|
|
//推送
|
|
|
String status = examineVo.getAuditStatus();
|
|
|
Map<Long, String> receivers = new HashMap<>();
|
|
@@ -270,7 +355,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void add(VideoLessonVo lessonVo, SysUser sysUser) {
|
|
|
VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
|
|
|
- List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
|
|
|
+ List<VideoLessonGroupDetailDto> lessonList = lessonVo.getLessonList();
|
|
|
lessonGroup.setLessonCount(lessonList.size());
|
|
|
|
|
|
//校验声部
|
|
@@ -422,7 +507,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void update(VideoLessonVo lessonVo, SysUser sysUser) {
|
|
|
VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
|
|
|
- List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
|
|
|
+ List<VideoLessonGroupDetailDto> lessonList = lessonVo.getLessonList();
|
|
|
lessonGroup.setLessonCount(lessonList.size());
|
|
|
lessonGroup.setTeacherId(sysUser.getId());
|
|
|
//判断是否有正在审核中
|
|
@@ -552,7 +637,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
videoLessonAuthGroup.setLastVideoLessonGroupLog(lastDetil);
|
|
|
|
|
|
if(lastDetil != null){
|
|
|
- lastDetil.setVideoList(JsonUtil.parseArray(lastDetil.getVideoDetailJson(), VideoLessonGroupDetail.class));
|
|
|
+ lastDetil.setVideoList(JsonUtil.parseArray(lastDetil.getVideoDetailJson(), VideoLessonGroupDetailDto.class));
|
|
|
}
|
|
|
|
|
|
return videoLessonAuthGroup;
|