|
@@ -450,9 +450,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
applyBaseInfo.setName(vipGroup.getLiveBroadcastRoom().getRoomTitle());
|
|
|
//课程信息调整
|
|
|
- List<CourseSchedule> courseSchedules = vipGroup.getCourseSchedules();
|
|
|
- ClassGroup finalClassGroup = classGroup;
|
|
|
- courseSchedules.forEach(courseSchedule -> {
|
|
|
+ List<CourseSchedule> courseSchedules = courseScheduleDao.getClassGroupCourses(classGroup.getId().longValue());
|
|
|
+
|
|
|
+ Boolean upCourseFlag = true;
|
|
|
+ //兼容历史的直播课
|
|
|
+ if(CollectionUtils.isEmpty(courseSchedules)){
|
|
|
+ courseSchedules = vipGroup.getCourseSchedules();
|
|
|
+ upCourseFlag = false;
|
|
|
+ }
|
|
|
+ for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
courseSchedule.setGroupType(GroupType.valueOf(groupType));
|
|
|
courseSchedule.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
|
|
|
if (courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)) {
|
|
@@ -462,10 +468,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
courseSchedule.setActualTeacherId(vipGroupApplyBaseInfoDto.getUserId());
|
|
|
courseSchedule.setStatus(CourseStatusEnum.NOT_START);
|
|
|
courseSchedule.setType(CourseSchedule.CourseScheduleType.valueOf(groupType));
|
|
|
- courseSchedule.setClassGroupId(finalClassGroup.getId());
|
|
|
+ courseSchedule.setClassGroupId(classGroup.getId());
|
|
|
courseSchedule.setName(vipGroupApplyBaseInfoDto.getName());
|
|
|
courseSchedule.setOrganId(vipGroupApplyBaseInfoDto.getOrganId());
|
|
|
- });
|
|
|
+ }
|
|
|
+ if (upCourseFlag) {
|
|
|
+ vipGroup.setCourseSchedules(courseSchedules);
|
|
|
+ courseScheduleDao.batchUpdate(courseSchedules);
|
|
|
+ }
|
|
|
if (vipGroup1.getStatus().equals(VipGroupStatusEnum.PROGRESS)) {
|
|
|
// 修改课程信息
|
|
|
// 修改直播间标题
|
|
@@ -2649,7 +2659,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
throw new BizException("您已加入此课程");
|
|
|
}
|
|
|
int courseNum = courseScheduleDao.countVipGroupCourses(vipGroup.getId().intValue(), vipGroup.getGroupType());
|
|
|
- if (vipGroup.getStatus() != VipGroupStatusEnum.APPLYING || classGroup.getDelFlag() != 1 || courseNum > 0) {
|
|
|
+ if (vipGroup.getGroupType().equals("VIP") && (vipGroup.getStatus() != VipGroupStatusEnum.APPLYING || classGroup.getDelFlag() != 1 || courseNum > 0)) {
|
|
|
throw new BizException("当前课程已无法通过购买加入,请联系教务老师");
|
|
|
}
|
|
|
GroupType groupType = GroupType.VIP;
|