| 
					
				 | 
			
			
				@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.data.redis.core.RedisTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,8 +50,8 @@ public class RoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNetworkRoom 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ImNetworkRoomMemberService imNetworkRoomMemberService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ImService imService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private ImGroupService imGroupService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private RedisTemplate<String,Object> redisTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ImNetworkRoomDao getDao() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,12 +120,14 @@ public class RoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNetworkRoom 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int memberNum = imNetworkRoomMemberService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eq(ImNetworkRoomMember::getRoomId,roomId).count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (memberNum <= 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            imHelper.dismiss(roomMember.getUserId(), roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            RTCRoomPluginService pluginService = rtcRoomPluginContext.getPluginService(serviceProvider); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            redisTemplate.delete("joinImGroup:" + roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pluginService.chatRoomDestroy(roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //删除房间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.removeById(room.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.info("leaveRoomSuccess dismiss the room: {},userId: {}", roomId, roomMember.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ImNetworkRoomMemberChangedMessage msg = new ImNetworkRoomMemberChangedMessage(roomMember, ImNetworkRoomMemberChangedEnum.LEAVE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            imHelper.publishMessage(roomMember.getUserId(), roomId, msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            imHelper.quit(new String[]{roomMember.getUserId()}, roomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            imService.sendQuitRoomMsg(roomMember,serviceProvider); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.info("leaveRoomSuccess quit group: roomId={},userId: {}", roomId, roomMember.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //删房间用户信息 
			 |