| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询直播间所有用户信息 
			 |