Browse Source

2023双十月活动改造

zouxuan 1 year ago
parent
commit
348b6f3df7

+ 16 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -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;