|
@@ -736,7 +736,8 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
pluginService.rtcRoomRecordStop(taskId);
|
|
|
}
|
|
|
}
|
|
|
-// imFeignService.destroyLiveRoom(roomUid);
|
|
|
+
|
|
|
+ // imFeignService.destroyLiveRoom(roomUid);
|
|
|
log.info("roomDestroy>>>> destroyLiveRoom {}", JSONObject.toJSONString(message));
|
|
|
} catch (Exception e) {
|
|
|
log.error("roomDestroy>>>> errorMsg{}", e.getMessage(), e.getCause());
|
|
@@ -764,6 +765,8 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
member.setTenantId(v.getTenantId());
|
|
|
member.setRoomUid(roomUid);
|
|
|
member.setUserId(v.getUserId());
|
|
|
+ member.setOnlineStatus(0);
|
|
|
+ member.setLiveRoomStatus(0);
|
|
|
member.setJoinTime(v.getFirstJoinTime());
|
|
|
member.setTotalTime(getLookMinutes(v.getDynamicLookTime(), now, v.getTotalViewTime()));
|
|
|
memberList.add(member);
|
|
@@ -921,7 +924,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
// 缓存JoinRoom用户信息到redis
|
|
|
RBucket<Object> bucket = redissonClient.getBucket(RedissonMessageService.LIVE_ROOM_MEMBER + roomUid);
|
|
|
if (!bucket.isExists()) {
|
|
|
- bucket.set(roomUid, 30, TimeUnit.MINUTES);
|
|
|
+ bucket.set(0, 30, TimeUnit.MINUTES);
|
|
|
// 发布删除缓存消息
|
|
|
redissonMessageService.publish(RedissonMessageService.TOPIC_MESSAGE, roomUid);
|
|
|
}
|
|
@@ -1119,7 +1122,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
// 缓存JoinRoom用户信息到redis
|
|
|
RBucket<Object> bucket = redissonClient.getBucket(RedissonMessageService.LIVE_ROOM_MEMBER + roomUid);
|
|
|
if (!bucket.isExists()) {
|
|
|
- bucket.set(roomUid, 30, TimeUnit.MINUTES);
|
|
|
+ bucket.set(0, 30, TimeUnit.MINUTES);
|
|
|
// 发布删除缓存消息
|
|
|
redissonMessageService.publish(RedissonMessageService.TOPIC_MESSAGE, roomUid);
|
|
|
}
|
|
@@ -2367,12 +2370,21 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
|
|
|
imLiveBroadcastRoom.setBanStatus(liveRoom.getBanStatus());
|
|
|
whetherChat(room.getId(), liveRoom.getBanStatus());
|
|
|
+
|
|
|
// 不用前端传时间
|
|
|
// imLiveBroadcastRoom.setLiveTotalTime(liveRoom.getLiveTotalTime());
|
|
|
+
|
|
|
// 设置摄像头状态
|
|
|
if (liveRoom.getCameraStatus() != null) {
|
|
|
- setGroupDefinedData(room,EGroupDefinedDataType.ANCHOR_CAMERA,liveRoom.getCameraStatus() == 1?
|
|
|
- EOnOffStatus.ON.getCode():EOnOffStatus.OFF.getCode());
|
|
|
+ setGroupDefinedData(room, EGroupDefinedDataType.ANCHOR_CAMERA,
|
|
|
+ liveRoom.getCameraStatus() == 1 ? EOnOffStatus.ON.getCode():EOnOffStatus.OFF.getCode());
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置全员闭麦状态
|
|
|
+ if (Objects.nonNull(liveRoom.getMicStatus())) {
|
|
|
+ setGroupDefinedData(room, EGroupDefinedDataType.ANCHOR_MIC,
|
|
|
+ liveRoom.getMicStatus() == 1 ? EOnOffStatus.ON.getCode() : EOnOffStatus.OFF.getCode());
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -2648,6 +2660,38 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 直播间推流状态查询
|
|
|
+ *
|
|
|
+ * @param roomUid 直播间ID
|
|
|
+ * @return TencentWrapper.LiveStreamState
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public TencentWrapper.LiveStreamState roomLiveStreamStatus(String roomUid) {
|
|
|
+
|
|
|
+ // 直播间信息
|
|
|
+ ImLiveBroadcastRoomVo roomVo = getImLiveBroadcastRoomVo(roomUid);
|
|
|
+ if (Objects.isNull(roomVo)) {
|
|
|
+ throw new BizException("无效的直播间ID");
|
|
|
+ }
|
|
|
+
|
|
|
+ TencentWrapper.LiveStreamState liveStreamState = TencentWrapper.LiveStreamState
|
|
|
+ .builder()
|
|
|
+ .streamState("inactive")
|
|
|
+ .requestId("")
|
|
|
+ .build();
|
|
|
+ // 直播间推流状态
|
|
|
+ try {
|
|
|
+ LivePluginService pluginService = livePluginContext.getPluginService(roomVo.getServiceProvider());
|
|
|
+
|
|
|
+ liveStreamState = pluginService.liveStreamState(getStreamId(roomUid, roomVo.getSpeakerId()));
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("roomLiveStreamStatus roomUid={}", roomUid, e);
|
|
|
+ }
|
|
|
+
|
|
|
+ return liveStreamState;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 查询直播间所有用户信息
|