|
@@ -1,88 +1,51 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Collection;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Optional;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-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.MusicAlbum;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.MusicTag;
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.course.CourseRelationTypeEnum;
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.course.CourseTypeEnum;
|
|
|
-import com.yonge.cooleshow.biz.dal.queryInfo.CourseRelationQueryInfo;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.CourseRelationMusicAlbumService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.MusicTagService;
|
|
|
-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;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
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.CourseMusicAlbumRelationDto;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.VideoLessonGroupDetailDto;
|
|
|
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.Subject;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.Teacher;
|
|
|
-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.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
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.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.biz.dal.enums.course.CourseRelationTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.course.CourseTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.queryInfo.CourseRelationQueryInfo;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper;
|
|
|
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 com.yonge.toolset.utils.collection.MapUtil;
|
|
|
import com.yonge.toolset.utils.json.JsonUtil;
|
|
|
+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.math.BigDecimal;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* VideoLessonGroupService服务实现类
|
|
@@ -152,10 +115,15 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
|
|
|
}
|
|
|
}
|
|
|
List<VideoLessonGroupVo> videoLessonGroupVos = baseMapper.selectPage(page, query);
|
|
|
+ //获取直播课关联的曲目数量
|
|
|
+ List<Long> videoLessonGroupIds = videoLessonGroupVos.stream().map(VideoLessonGroupVo::getId).collect(Collectors.toList());
|
|
|
+ List<Map<Long,Long>> musicNum = this.baseMapper.countMusicAlbum(videoLessonGroupIds);
|
|
|
+ Map<Long,Long> map = MapUtil.convertIntegerMap(musicNum);
|
|
|
for (VideoLessonGroupVo videoLessonGroupVo : videoLessonGroupVos) {
|
|
|
if (videoLessonGroupVo.getLessonPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
videoLessonGroupVo.setCountStudent(videoLessonGroupVo.getCountStudent() + videoLessonGroupVo.getVirtualNumber());
|
|
|
}
|
|
|
+ videoLessonGroupVo.setMusicNum(map.get(videoLessonGroupVo.getId()));
|
|
|
}
|
|
|
return page.setRecords(videoLessonGroupVos);
|
|
|
}
|