|
@@ -14,6 +14,7 @@ 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;
|
|
@@ -212,30 +213,91 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
// 设置标签
|
|
|
if (AuthStatusEnum.PASS.getCode().equals(examineVo.getAuditStatus())) {
|
|
|
teacherService.setTeacherTag(lessonGroup.getTeacherId(), TeacherTagEnum.VIDEO);
|
|
|
+
|
|
|
+ // 设置关联的曲目
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //推送
|
|
|
+ String status = examineVo.getAuditStatus();
|
|
|
+ Map<Long, String> receivers = new HashMap<>();
|
|
|
+ SysUser teacher = sysUserFeignService.queryUserById(lessonGroup.getTeacherId());
|
|
|
+ receivers.put(lessonGroup.getTeacherId(), teacher.getPhone());
|
|
|
+ if (status.equals("PASS")) {
|
|
|
+ try {
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_SHEET_AUTH_PASS,
|
|
|
+ receivers, null, 0, null, ClientEnum.TEACHER.getCode(), lessonGroup.getLessonName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("视频课审核失败,{}", e.getMessage());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ try {
|
|
|
+ String remark = "无";
|
|
|
+ if (!StringUtils.isEmpty(examineVo.getRemarks())) {
|
|
|
+ remark = examineVo.getRemarks();
|
|
|
+ }
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_SHEET_AUTH_UNPASS,
|
|
|
+ receivers, null, 0, null, ClientEnum.TEACHER.getCode(), lessonGroup.getLessonName(), remark);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("视频课审核失败,{}", e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 处理课程曲目关联关系
|
|
|
+ */
|
|
|
+ private void courseMusicAlbumRelation(VideoLessonGroup lessonGroup) {
|
|
|
// 设置关联曲目
|
|
|
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<CourseRelationMusicAlbum> relationMusicAlbumList = courseRelationMusicAlbumService.lambdaQuery()
|
|
|
+ .eq(CourseRelationMusicAlbum::getCourseGroupId, lessonGroup.getId())
|
|
|
+ .ne(CourseRelationMusicAlbum::getDelFlog, 0)
|
|
|
+ .list();
|
|
|
+ Map<Long, List<CourseRelationMusicAlbum>> courseRelationMusicAlbumList = new HashMap<>();
|
|
|
+ // 根据课程id分组
|
|
|
+ if (CollectionUtils.isEmpty(relationMusicAlbumList)) {
|
|
|
+ courseRelationMusicAlbumList = relationMusicAlbumList.stream()
|
|
|
+ .collect(Collectors.groupingBy(CourseRelationMusicAlbum::getCourseId));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 需要更新的id
|
|
|
List<Long> updateCourseRelationIdList = new ArrayList<>();
|
|
|
for (VideoLessonGroupDetailDto videoLessonGroupDetailDto : videoLessonGroupDetailDtoList) {
|
|
|
+ // 需要修改的关联数据
|
|
|
List<CourseMusicAlbumRelationDto> relationList = videoLessonGroupDetailDto.getRelationList();
|
|
|
+
|
|
|
+ // 原本的关联数据
|
|
|
+ List<CourseRelationMusicAlbum> oldRelationList = courseRelationMusicAlbumList.get(
|
|
|
+ videoLessonGroupDetailDto.getId());
|
|
|
+
|
|
|
for (CourseMusicAlbumRelationDto courseMusicAlbumRelationDto : relationList) {
|
|
|
CourseRelationMusicAlbum courseRelationMusicAlbum = new CourseRelationMusicAlbum();
|
|
|
+ // 修改的数据
|
|
|
if (courseMusicAlbumRelationDto.getRelationId() != null && courseMusicAlbumRelationDto.getRelationId() != 0) {
|
|
|
- updateCourseRelationIdList.add(courseMusicAlbumRelationDto.getMusicAlbumId());
|
|
|
- courseRelationMusicAlbum.setId(courseMusicAlbumRelationDto.getRelationId());
|
|
|
+ updateCourseRelationIdList.add(courseMusicAlbumRelationDto.getRelationId());
|
|
|
+ for (CourseRelationMusicAlbum relationMusicAlbum : oldRelationList) {
|
|
|
+ if (relationMusicAlbum.getId().equals(courseMusicAlbumRelationDto.getRelationId())) {
|
|
|
+ courseRelationMusicAlbum = relationMusicAlbum;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
courseRelationMusicAlbum.setCourseGroupId(videoLessonGroupDetailDto.getVideoLessonGroupId());
|
|
|
courseRelationMusicAlbum.setCourseId(videoLessonGroupDetailDto.getId());
|
|
|
courseRelationMusicAlbum.setCourseType(CourseTypeEnum.VIDEO);
|
|
|
+ courseRelationMusicAlbum.setDelFlog(1);
|
|
|
courseRelationMusicAlbum.setRelationType(courseMusicAlbumRelationDto.getRelationMusicAlbum());
|
|
|
courseRelationMusicAlbum.setUseRelationType(courseMusicAlbumRelationDto.getUseRelationType());
|
|
|
- courseRelationMusicAlbum.setDelFlog(1);
|
|
|
courseRelationMusicAlbum.setUpdateBy(videoLessonGroupDetailDto.getUpdateBy());
|
|
|
courseRelationMusicAlbum.setUpdateTime(new Date());
|
|
|
if (courseRelationMusicAlbum.getId() == null) {
|
|
@@ -248,65 +310,19 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 查出需要删除的关联数据
|
|
|
- List<CourseRelationMusicAlbum> list = courseRelationMusicAlbumService.lambdaQuery()
|
|
|
+ // 删除关联数据
|
|
|
+ courseRelationMusicAlbumService.lambdaUpdate()
|
|
|
.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));
|
|
|
- }
|
|
|
+ .notIn(CourseRelationMusicAlbum::getId,updateCourseRelationIdList)
|
|
|
+ .set(CourseRelationMusicAlbum::getDelFlog,0)
|
|
|
+ .set(CourseRelationMusicAlbum::getUpdateTime,new Date())
|
|
|
+ .update();
|
|
|
|
|
|
// 保存更新的关联数据
|
|
|
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<>();
|
|
|
- SysUser teacher = sysUserFeignService.queryUserById(lessonGroup.getTeacherId());
|
|
|
- receivers.put(lessonGroup.getTeacherId(), teacher.getPhone());
|
|
|
- if (status.equals("PASS")) {
|
|
|
- try {
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_SHEET_AUTH_PASS,
|
|
|
- receivers, null, 0, null, ClientEnum.TEACHER.getCode(), lessonGroup.getLessonName());
|
|
|
- } catch (Exception e) {
|
|
|
- log.warn("视频课审核失败,{}", e.getMessage());
|
|
|
- }
|
|
|
- } else {
|
|
|
- try {
|
|
|
- String remark = "无";
|
|
|
- if (!StringUtils.isEmpty(examineVo.getRemarks())) {
|
|
|
- remark = examineVo.getRemarks();
|
|
|
- }
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_SHEET_AUTH_UNPASS,
|
|
|
- receivers, null, 0, null, ClientEnum.TEACHER.getCode(), lessonGroup.getLessonName(), remark);
|
|
|
- } catch (Exception e) {
|
|
|
- log.warn("视频课审核失败,{}", e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -401,23 +417,33 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
record.setAuditStatus(AuthStatusEnum.DOING.getCode());
|
|
|
record.setAuthType(AuthTypeEnum.ADD);
|
|
|
recordDao.insert(record);*/
|
|
|
-
|
|
|
- VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
|
|
|
-
|
|
|
- try {
|
|
|
- org.springframework.beans.BeanUtils.copyProperties(lessonGroup, videoLessonGroupLog);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new BizException("属性复制失败");
|
|
|
- }
|
|
|
- videoLessonGroupLog.setId(null);
|
|
|
- videoLessonGroupLog.setVideoLessonGroupId(lessonGroup.getId());
|
|
|
- videoLessonGroupLog.setCreateTime(date);
|
|
|
- videoLessonGroupLog.setUpdateTime(date);
|
|
|
- videoLessonGroupLog.setModifierId(sysUser.getId());
|
|
|
- videoLessonGroupLog.setVideoDetailJson(JsonUtil.toJSONString(lessonList));
|
|
|
- videoLessonGroupLog.setVersion(videoLessonGroupLogService.queryMaxVersion(lessonGroup.getId()) + 1);
|
|
|
-
|
|
|
- videoLessonGroupLogService.insert(videoLessonGroupLog);
|
|
|
+
|
|
|
+ // 草稿状态不审核
|
|
|
+ if (lessonGroup.getDraftFlag() == null) {
|
|
|
+ lessonGroup.setDraftFlag(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置关联曲目
|
|
|
+ courseMusicAlbumRelation(lessonGroup);
|
|
|
+
|
|
|
+ if (YesOrNoEnum.YES.equals(lessonGroup.getDraftFlag())) {
|
|
|
+ VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
|
|
|
+
|
|
|
+ try {
|
|
|
+ org.springframework.beans.BeanUtils.copyProperties(lessonGroup, videoLessonGroupLog);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BizException("属性复制失败");
|
|
|
+ }
|
|
|
+ videoLessonGroupLog.setId(null);
|
|
|
+ videoLessonGroupLog.setVideoLessonGroupId(lessonGroup.getId());
|
|
|
+ videoLessonGroupLog.setCreateTime(date);
|
|
|
+ videoLessonGroupLog.setUpdateTime(date);
|
|
|
+ videoLessonGroupLog.setModifierId(sysUser.getId());
|
|
|
+ videoLessonGroupLog.setVideoDetailJson(JsonUtil.toJSONString(lessonList));
|
|
|
+ videoLessonGroupLog.setVersion(videoLessonGroupLogService.queryMaxVersion(lessonGroup.getId()) + 1);
|
|
|
+
|
|
|
+ videoLessonGroupLogService.insert(videoLessonGroupLog);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -548,23 +574,31 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
// 添加课程
|
|
|
videoLessonGroupDetailDao.insertVideoLesson(lessonList);
|
|
|
}
|
|
|
-
|
|
|
- VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
|
|
|
-
|
|
|
- try {
|
|
|
- org.springframework.beans.BeanUtils.copyProperties(lessonGroup, videoLessonGroupLog);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new BizException("属性复制失败");
|
|
|
- }
|
|
|
- videoLessonGroupLog.setId(null);
|
|
|
- videoLessonGroupLog.setVideoLessonGroupId(lessonGroup.getId());
|
|
|
- videoLessonGroupLog.setCreateTime(date);
|
|
|
- videoLessonGroupLog.setUpdateTime(date);
|
|
|
- videoLessonGroupLog.setModifierId(sysUser.getId());
|
|
|
- videoLessonGroupLog.setVideoDetailJson(JsonUtil.toJSONString(lessonList));
|
|
|
- videoLessonGroupLog.setVersion(videoLessonGroupLogService.queryMaxVersion(lessonGroup.getId()) + 1);
|
|
|
-
|
|
|
- videoLessonGroupLogService.insert(videoLessonGroupLog);
|
|
|
+
|
|
|
+
|
|
|
+ // 草稿状态不审核
|
|
|
+ if (lessonGroup.getDraftFlag() == null) {
|
|
|
+ lessonGroup.setDraftFlag(YesOrNoEnum.NO);
|
|
|
+ }
|
|
|
+ if (lessonGroup.getDraftFlag().equals(YesOrNoEnum.YES)) {
|
|
|
+
|
|
|
+ VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
|
|
|
+
|
|
|
+ try {
|
|
|
+ org.springframework.beans.BeanUtils.copyProperties(lessonGroup, videoLessonGroupLog);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BizException("属性复制失败");
|
|
|
+ }
|
|
|
+ videoLessonGroupLog.setId(null);
|
|
|
+ videoLessonGroupLog.setVideoLessonGroupId(lessonGroup.getId());
|
|
|
+ videoLessonGroupLog.setCreateTime(date);
|
|
|
+ videoLessonGroupLog.setUpdateTime(date);
|
|
|
+ videoLessonGroupLog.setModifierId(sysUser.getId());
|
|
|
+ videoLessonGroupLog.setVideoDetailJson(JsonUtil.toJSONString(lessonList));
|
|
|
+ videoLessonGroupLog.setVersion(videoLessonGroupLogService.queryMaxVersion(lessonGroup.getId()) + 1);
|
|
|
+
|
|
|
+ videoLessonGroupLogService.insert(videoLessonGroupLog);
|
|
|
+ }
|
|
|
|
|
|
//修改课程组记录
|
|
|
lessonGroup.setAuditVersion(YesOrNoEnum.NO);
|
|
@@ -572,6 +606,8 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
lessonGroup.setUpdateTime(date);
|
|
|
videoLessonGroupDao.updateById(lessonGroup);
|
|
|
|
|
|
+ // 设置关联曲目
|
|
|
+ courseMusicAlbumRelation(lessonGroup);
|
|
|
//刷新统计
|
|
|
VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
|
|
|
groupUpVo.setId(lessonGroup.getId());
|