|
@@ -2,6 +2,8 @@ package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import com.google.common.collect.Maps;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
@@ -789,7 +791,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<CourseListDto> courseListDtos = null;
|
|
|
//获取分页前的所有的乐团编号和vip编号
|
|
|
params.put("offset", pageInfo.getOffset());
|
|
|
- List<String> musicGroupIds = null;
|
|
|
+ List<String> musicGroupIds = Lists.newArrayList();
|
|
|
List<Group> groups;
|
|
|
if (queryInfo.isHideOverGroup()) {
|
|
|
groups = courseScheduleDao.queryMusicGroupIdsWithoutOverGroup(params);
|
|
@@ -803,14 +805,32 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
typeGroupMap = groups.stream().collect(Collectors.groupingBy(Group::getGroupType));
|
|
|
}
|
|
|
courseListDtos = new ArrayList<>();
|
|
|
+
|
|
|
+ // VIP课
|
|
|
if (!CollectionUtils.isEmpty(typeGroupMap.get(GroupType.VIP))) {
|
|
|
- musicGroupIds = typeGroupMap.get(GroupType.VIP).stream().map(Group::getId).collect(Collectors.toList());
|
|
|
+ musicGroupIds.addAll(typeGroupMap.get(GroupType.VIP).stream().map(Group::getId).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ // 直播课
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(typeGroupMap.get(GroupType.LIVE))) {
|
|
|
+ musicGroupIds.addAll(typeGroupMap.get(GroupType.LIVE).stream().map(Group::getId).collect(Collectors.toList()));
|
|
|
}
|
|
|
//获取学员所购买的vip课列表详情
|
|
|
List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","), userId);
|
|
|
//获取vip课的学生列表
|
|
|
Set<String> vipIds = vipCourses.stream().map(CourseListDto::getVipId).collect(Collectors.toSet());
|
|
|
- Map<String, String> vipStuNames = MapUtil.convertIntegerMap(classGroupDao.findVipStuNames(StringUtils.join(vipIds, ","), "VIP"));
|
|
|
+
|
|
|
+ Map<String, String> vipStuNamesMap = Maps.newHashMap();
|
|
|
+ // VIP课
|
|
|
+ List<Map<String, String>> vipStuNames = classGroupDao.findVipStuNames(StringUtils.join(vipIds, ","), "VIP");
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(vipStuNames)) {
|
|
|
+ vipStuNamesMap.putAll(MapUtil.convertIntegerMap(vipStuNames));
|
|
|
+ }
|
|
|
+ // 直播课
|
|
|
+ List<Map<String, String>> liveStuNames = classGroupDao.findVipStuNames(StringUtils.join(vipIds, ","), "LIVE");
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(liveStuNames)) {
|
|
|
+ vipStuNamesMap.putAll(MapUtil.convertIntegerMap(liveStuNames));
|
|
|
+ }
|
|
|
+ //Map<String, String> vipStuNamesMap = MapUtil.convertIntegerMap(classGroupDao.findVipStuNames(StringUtils.join(vipIds, ","), "VIP"));
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(typeGroupMap.get(MUSIC))) {
|
|
|
musicGroupIds = typeGroupMap.get(MUSIC).stream().map(Group::getId).collect(Collectors.toList());
|
|
@@ -867,6 +887,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
Map<String, Long> vipCourseNumMap = new HashMap<>();
|
|
|
if (vipIds != null && vipIds.size() > 0) {
|
|
|
vipCourseNumMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.findStudentCourseNum(vipIds, userId, "VIP"));
|
|
|
+
|
|
|
+ // 直播课
|
|
|
+ List<Map<String, Integer>> studentCourseNum = courseScheduleStudentPaymentDao.findStudentCourseNum(vipIds, userId, "LIVE");
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(studentCourseNum)) {
|
|
|
+ vipCourseNumMap.putAll(MapUtil.convertIntegerMap(studentCourseNum));
|
|
|
+ }
|
|
|
}
|
|
|
Map<String, Long> practiceCourseNumMap = new HashMap<>();
|
|
|
if (practiceGroupId != null && practiceGroupId.size() > 0) {
|
|
@@ -890,7 +916,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
Map<String, Integer> isApplyMap = MapUtil.convertIntegerMap(isApplyMaps);
|
|
|
//获取所有教学点名称列表
|
|
|
Set<Integer> schoolIds = courseListDtos.stream().map(CourseListDto::getTeacherSchoolId).collect(Collectors.toSet());
|
|
|
- Map<Integer, String> schoolNames = MapUtil.convertMybatisMap(schoolDao.queryNameByIds(StringUtils.join(schoolIds, ",")));
|
|
|
+
|
|
|
+ Map<Integer, String> schoolNames = Maps.newHashMap();
|
|
|
+ if (org.apache.commons.collections.CollectionUtils.isNotEmpty(schoolIds)) {
|
|
|
+ schoolNames.putAll(MapUtil.convertMybatisMap(schoolDao.queryNameByIds(StringUtils.join(schoolIds, ","))));
|
|
|
+ }
|
|
|
|
|
|
SysConfig practiceRenewUrlConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_RENEW_URL);
|
|
|
|
|
@@ -927,8 +957,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
else if (PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroupTypeMap.get(Long.valueOf(e.getPracticeId()))))
|
|
|
e.setPracticeType(3);
|
|
|
}
|
|
|
- } else if (ClassGroupTypeEnum.VIP == e.getType()) {
|
|
|
- e.setStudentNames(vipStuNames.get(e.getVipId()));
|
|
|
+ } else if (ClassGroupTypeEnum.VIP == e.getType() || ClassGroupTypeEnum.LIVE == e.getType()) {
|
|
|
+ e.setStudentNames(vipStuNamesMap.get(e.getVipId()));
|
|
|
//1:线上;2:线下;3:线上+线下
|
|
|
if (e.getOnlineClassesNum() > 0 && e.getOffLineClassesNum() <= 0) {
|
|
|
e.setClassMode(1);
|
|
@@ -1522,8 +1552,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
List<TeacherClassGroupDto> teacherMusicClassGroup;
|
|
|
switch (type) {
|
|
|
- case "VIP":
|
|
|
- teacherMusicClassGroup = classGroupDao.findTeacherVipClassGroup(user.getId().longValue(), status, groupName);
|
|
|
+ case "VIP": // VIP课
|
|
|
+ case "LIVE": // 直播课
|
|
|
+ teacherMusicClassGroup = classGroupDao.findTeacherVipClassGroup(user.getId().longValue(), status, groupName, type);
|
|
|
break;
|
|
|
case "MUSIC_GROUP":
|
|
|
teacherMusicClassGroup = classGroupDao.findTeacherMusicClassGroup(user.getId().longValue(), groupName);
|
|
@@ -1731,10 +1762,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
// teacherClassHeadInfo.setTeachingTeacher(teachingTeacher.getUserName());
|
|
|
// }
|
|
|
|
|
|
- if (classGroup.getType() == ClassGroupTypeEnum.VIP) {
|
|
|
+ if (classGroup.getType() == ClassGroupTypeEnum.VIP || classGroup.getType() == ClassGroupTypeEnum.LIVE) {
|
|
|
String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(classGroupId);
|
|
|
teacherClassHeadInfo.setStudentNames(StringUtils.join(studentNums, ","));
|
|
|
}
|
|
|
+
|
|
|
if (classGroup.getType() == ClassGroupTypeEnum.PRACTICE) {
|
|
|
String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(classGroupId);
|
|
|
teacherClassHeadInfo.setStudentNames(StringUtils.join(studentNums, ","));
|