|
@@ -16,6 +16,7 @@ import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.dal.mapper.LiveGroupPlusMapper;
|
|
|
import com.ym.mec.biz.dal.page.*;
|
|
|
import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
|
|
|
+import com.ym.mec.biz.dal.vo.ImLiveRoomVideoVo;
|
|
|
import com.ym.mec.biz.dal.wrapper.LiveGroupWrapper;
|
|
|
import com.ym.mec.biz.event.source.SendSeoMessageSource;
|
|
|
import com.ym.mec.biz.service.*;
|
|
@@ -211,6 +212,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
@Autowired
|
|
|
private VipGroupService vipGroupService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ImLiveRoomVideoService imLiveRoomVideoService;
|
|
|
+
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(VipGroup.class);
|
|
|
|
|
|
@Override
|
|
@@ -4922,12 +4926,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
// 报名中的课程直接返回json数据
|
|
|
List<CourseSchedule> courseSchedules;
|
|
|
- if (vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)) {
|
|
|
+ if (VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()) ||VipGroupStatusEnum.NOT_START.equals(vipGroup.getStatus())) {
|
|
|
courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
|
|
|
// 报名中的课程默认未分享,不能修改
|
|
|
courseSchedules.forEach(next->next.setShareMode(ShareModeEnum.NO_SHARE));
|
|
|
} else {
|
|
|
courseSchedules = courseScheduleDao.findGroupCourseSchedules(vipGroup.getId().toString(), GroupType.LIVE.getCode());
|
|
|
+ if (CollectionUtils.isEmpty(courseSchedules)) {
|
|
|
+ courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
|
|
|
+ // 报名中的课程默认未分享,不能修改
|
|
|
+ courseSchedules.forEach(next->next.setShareMode(ShareModeEnum.NO_SHARE));
|
|
|
+ }
|
|
|
}
|
|
|
// 添加共享方式过滤
|
|
|
ShareModeEnum shareMode = query.getShareMode();
|
|
@@ -4935,9 +4944,28 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
courseSchedules.removeIf(next -> !shareMode.equals(next.getShareMode()));
|
|
|
}
|
|
|
|
|
|
+ List<CourseScheduleDto> courseScheduleDtos = JSON.parseArray(JSON.toJSONString(courseSchedules), CourseScheduleDto.class);
|
|
|
+
|
|
|
+ // roomId
|
|
|
+ List<String> roomIdList = courseScheduleDtos.stream().map(CourseScheduleDto::getLiveRoomId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 查询直播间视频数
|
|
|
+ Map<String, Integer> uidCountMap = imLiveRoomVideoService.queryRoomUidCountMap(roomIdList);
|
|
|
+ for (CourseScheduleDto record : courseScheduleDtos) {
|
|
|
+ if (Objects.isNull(record.getLiveRoomId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Integer count = uidCountMap.get(record.getLiveRoomId());
|
|
|
+ if (count == null) {
|
|
|
+ record.setVideoNum(0);
|
|
|
+ }
|
|
|
+ record.setVideoNum(count);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
- result.put("list", courseSchedules);
|
|
|
+ result.put("list", courseScheduleDtos);
|
|
|
result.put("singleClassMinutes", vipGroup.getSingleClassMinutes());
|
|
|
return result;
|
|
|
}
|