|
@@ -1,5 +1,23 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+import io.netty.util.internal.StringUtil;
|
|
|
+
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+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 org.apache.commons.beanutils.BeanUtils;
|
|
|
+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.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -10,32 +28,42 @@ import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.VideoLessonAuthRecordDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.LiveSaleOutDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.VideoGroupSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.Subject;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonAuthRecord;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupLog;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.AuthTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.SysMessageService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupLogService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
|
|
|
-import com.yonge.cooleshow.biz.dal.vo.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.CountVideoGroupVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.LessonGroupVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonAuthGroup;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonExamineVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupUpVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonShelvesVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentDetailVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonTeacherVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonVo;
|
|
|
import com.yonge.cooleshow.common.constant.SysConfigConstant;
|
|
|
import com.yonge.cooleshow.common.enums.YesOrNoEnum;
|
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
|
import com.yonge.toolset.base.string.MessageFormatter;
|
|
|
import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
|
|
|
-import io.netty.util.internal.StringUtil;
|
|
|
-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 java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* VideoLessonGroupService服务实现类
|
|
@@ -67,6 +95,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
|
|
|
@Autowired
|
|
|
private SysConfigService sysConfigService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private VideoLessonGroupLogService videoLessonGroupLogService;
|
|
|
|
|
|
public VideoLessonGroupDao getDao() {
|
|
|
return videoLessonGroupDao;
|
|
@@ -79,12 +110,14 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
*/
|
|
|
@Override
|
|
|
public IPage<VideoLessonGroupVo> selectPage(IPage<VideoLessonGroupVo> page, VideoLessonGroupSearch query) {
|
|
|
- if(!StringUtil.isNullOrEmpty(query.getAuditStatus())){
|
|
|
- if(query.getAuditStatus().equals("OUT_SALE")){
|
|
|
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(query.getAuditStatus())){
|
|
|
+ if(query.getAuditStatus().equals(AuthStatusEnum.OUT_SALE.getCode())){
|
|
|
query.setAuditStatus(null);
|
|
|
query.setShelvesFlag(0);
|
|
|
- }else{
|
|
|
+ }else if(query.getAuditStatus().equals(AuthStatusEnum.PASS.getCode())){
|
|
|
query.setShelvesFlag(1);
|
|
|
+ }else{
|
|
|
+ query.setShelvesFlag(0);
|
|
|
}
|
|
|
}
|
|
|
return page.setRecords(baseMapper.selectPage(page, query));
|
|
@@ -249,12 +282,12 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
videoLessonGroupDao.updateGroup(groupUpVo);
|
|
|
|
|
|
//记录video_lesson_auth_record
|
|
|
- VideoLessonAuthRecord record = new VideoLessonAuthRecord();
|
|
|
+ /*VideoLessonAuthRecord record = new VideoLessonAuthRecord();
|
|
|
record.setVideoGroupId(lessonGroup.getId());
|
|
|
record.setGroupId(lessonGroup.getId());
|
|
|
record.setAuditStatus(AuthStatusEnum.DOING.getCode());
|
|
|
record.setAuthType(AuthTypeEnum.ADD);
|
|
|
- recordDao.insert(record);
|
|
|
+ recordDao.insert(record);*/
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -322,6 +355,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
* @Date: 2022/4/7
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void update(VideoLessonVo lessonVo, SysUser sysUser) {
|
|
|
VideoLessonGroup lessonGroup = lessonVo.getLessonGroup();
|
|
|
List<VideoLessonGroupDetail> lessonList = lessonVo.getLessonList();
|
|
@@ -330,7 +364,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
.eq(VideoLessonAuthRecord::getGroupId, lessonGroup.getId())
|
|
|
.eq(VideoLessonAuthRecord::getAuditStatus, AuthStatusEnum.DOING.getCode()));
|
|
|
if(CollectionUtils.isNotEmpty(videoLessonAuthRecords)){
|
|
|
- return;
|
|
|
+ throw new BizException("正在审核中,无法修改");
|
|
|
}
|
|
|
|
|
|
//校验声部
|
|
@@ -340,37 +374,41 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
if (!longList.contains(subjectId)) {
|
|
|
throw new BizException("该声部无法选择");
|
|
|
}
|
|
|
+
|
|
|
+ Date date = new Date();
|
|
|
|
|
|
- //创建新的评审记录
|
|
|
+ /*//创建新的评审记录
|
|
|
VideoLessonAuthRecord authRecord = new VideoLessonAuthRecord();
|
|
|
authRecord.setGroupId(lessonGroup.getId());
|
|
|
-
|
|
|
- //创建新的课程组记录
|
|
|
- lessonGroup.setTeacherId(sysUser.getId());
|
|
|
+ authRecord.setAuditStatus(AuthStatusEnum.DOING.getCode());
|
|
|
+ authRecord.setAuthType(AuthTypeEnum.MODIFY);
|
|
|
+ authRecord.setVideoGroupId(lessonGroup.getId());
|
|
|
+ //提交审核
|
|
|
+ recordDao.insert(authRecord);*/
|
|
|
+
|
|
|
+ VideoLessonGroupLog videoLessonGroupLog = new VideoLessonGroupLog();
|
|
|
+
|
|
|
+ try {
|
|
|
+ BeanUtils.copyProperties(videoLessonGroupLog, lessonGroup);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BizException("属性复制失败");
|
|
|
+ }
|
|
|
+ videoLessonGroupLog.setCreateTime(date);
|
|
|
+ videoLessonGroupLog.setUpdateTime(date);
|
|
|
+ videoLessonGroupLog.setModifierId(sysUser.getId());
|
|
|
+
|
|
|
+ videoLessonGroupLogService.insert(videoLessonGroupLog);
|
|
|
+
|
|
|
+ //修改课程组记录
|
|
|
lessonGroup.setAuditVersion(YesOrNoEnum.NO);
|
|
|
- lessonGroup.setHistoryFlag(YesOrNoEnum.YES);
|
|
|
lessonGroup.setAuditStatus(AuthStatusEnum.DOING);
|
|
|
- lessonGroup.setId(null);
|
|
|
- videoLessonGroupDao.insert(lessonGroup);
|
|
|
- authRecord.setVideoGroupId(lessonGroup.getId());
|
|
|
-
|
|
|
- for (VideoLessonGroupDetail detail : lessonList) {
|
|
|
- detail.setId(null);
|
|
|
- detail.setVideoLessonGroupId(lessonGroup.getId());
|
|
|
- detail.setTeacherId(sysUser.getId());
|
|
|
- }
|
|
|
- videoLessonGroupDetailDao.insertVideoLesson(lessonList);
|
|
|
+ lessonGroup.setUpdateTime(date);
|
|
|
+ videoLessonGroupDao.updateById(lessonGroup);
|
|
|
|
|
|
//刷新统计
|
|
|
VideoLessonGroupUpVo groupUpVo = new VideoLessonGroupUpVo();
|
|
|
groupUpVo.setId(lessonGroup.getId());
|
|
|
videoLessonGroupDao.updateGroup(groupUpVo);
|
|
|
-
|
|
|
- //提交审核
|
|
|
- authRecord.setAuditStatus(AuthStatusEnum.DOING.getCode());
|
|
|
- authRecord.setAuthType(AuthTypeEnum.MODIFY);
|
|
|
-
|
|
|
- recordDao.insert(authRecord);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -382,7 +420,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
public IPage<LessonGroupVo> selectLessonGroup(IPage<LessonGroupVo> page, VideoLessonGroupSearch query) {
|
|
|
query.setAuditStatus(AuthStatusEnum.PASS.getCode());
|
|
|
|
|
|
- if(!StringUtil.isNullOrEmpty(query.getAuditStatus())){
|
|
|
+ if(org.apache.commons.lang3.StringUtils.isNoneBlank(query.getAuditStatus())){
|
|
|
if(query.getAuditStatus().equals("OUT_SALE")){
|
|
|
query.setAuditStatus(null);
|
|
|
query.setShelvesFlag(0);
|
|
@@ -417,16 +455,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
videoLessonAuthGroup.setVideoList(details);
|
|
|
|
|
|
//查询上一次的提交
|
|
|
- VideoLessonAuthGroup lastDetil = baseMapper.lastAuthGroupDetil(
|
|
|
- videoGroupId, videoLessonAuthGroup.getGroupId());
|
|
|
-
|
|
|
- if(null != lastDetil){
|
|
|
- List<VideoLessonGroupDetail> lastDetails = videoLessonGroupDetailDao.selectList(Wrappers.<VideoLessonGroupDetail>lambdaQuery()
|
|
|
- .eq(VideoLessonGroupDetail::getVideoLessonGroupId, lastDetil.getVideoGroupId()));
|
|
|
- lastDetil.setVideoList(lastDetails);
|
|
|
-
|
|
|
- videoLessonAuthGroup.setLastDetil(lastDetil);
|
|
|
- }
|
|
|
+ VideoLessonGroupLog lastDetil = baseMapper.lastAuthGroupDetil(videoGroupId);
|
|
|
+ videoLessonAuthGroup.setLastVideoLessonGroupLog(lastDetil);
|
|
|
+
|
|
|
return videoLessonAuthGroup;
|
|
|
}
|
|
|
|