|
@@ -288,7 +288,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
param.put("clientType", SysUserType.TEACHER.getCode());
|
|
|
}
|
|
|
Page<ImLiveBroadcastRoomVo> pageInfo = PageUtil.concatTimePage(param, "startTime", "endTime");
|
|
|
- pageInfo.setDesc("a.created_time_");
|
|
|
+ // pageInfo.setDesc("a.created_time_");
|
|
|
param.put("tenantId", TenantContextHolder.getTenantId());
|
|
|
IPage<ImLiveBroadcastRoomVo> page = baseMapper.queryPage(pageInfo, param);
|
|
|
|
|
@@ -663,6 +663,9 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
log.info("roomDestroy>>>> FORCED_OFFLINE {}", JSONObject.toJSONString(message));
|
|
|
//销毁直播间
|
|
|
pluginService.chatRoomDestroy(roomUid);
|
|
|
+ if (room.getServiceProvider().equals(TencentCloudLivePlugin.PLUGIN_NAME)) {
|
|
|
+ pluginService.rtcRoomRecordStop(getStreamId(roomUid, speakerId));
|
|
|
+ }
|
|
|
// imFeignService.destroyLiveRoom(roomUid);
|
|
|
log.info("roomDestroy>>>> destroyLiveRoom {}", JSONObject.toJSONString(message));
|
|
|
} catch (Exception e) {
|
|
@@ -670,6 +673,10 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private String getStreamId(String roomUid, Integer speakerId) {
|
|
|
+ return roomUid + "_" + speakerId;
|
|
|
+ }
|
|
|
+
|
|
|
//获取该直播间所有数据写入数据库-并清理缓存
|
|
|
private void insertAndCleanLiveData(String roomUid, Integer speakerId) {
|
|
|
log.info("insertAndCleanLiveData >>>> roomUid : {}", roomUid);
|
|
@@ -2004,12 +2011,13 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
LivePluginService pluginService = livePluginContext.getPluginService(
|
|
|
imLiveBroadcastRoom.getServiceProvider());
|
|
|
try {
|
|
|
- TencentWrapper.LiveStreamState liveStreamState = pluginService.liveStreamState(
|
|
|
- imLiveBroadcastRoom.getRoomUid() + imLiveBroadcastRoom.getSpeakerId());
|
|
|
+ TencentWrapper.LiveStreamState liveStreamState = pluginService
|
|
|
+ .liveStreamState(getStreamId(imLiveBroadcastRoom.getRoomUid(),imLiveBroadcastRoom.getSpeakerId()));
|
|
|
if (liveStreamState == null) {
|
|
|
log.error("查询直播间流失败,返回结果为空");
|
|
|
continue;
|
|
|
}
|
|
|
+ log.info("查询直播间流状态:{},roomUid:{}", JSON.toJSONString(liveStreamState), imLiveBroadcastRoom.getRoomUid());
|
|
|
if (!"active".equals(liveStreamState.getStreamState())) {
|
|
|
roomDestroy(imLiveBroadcastRoom.getRoomUid());
|
|
|
}
|