| 
					
				 | 
			
			
				@@ -103,7 +103,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Value("${auth.sysconfig.tenantId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private Integer lesseeOrganId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera,boolean isMusicMode) throws ApiException, Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CheckUtils.checkArgument(userName != null, "userName must't be null"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -851,6 +851,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Boolean syncDeviceState(String roomId, DeviceTypeEnum type, boolean enable) throws ApiException, Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CheckUtils.checkArgument(roomId != null, "roomId must't be null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CheckUtils.checkArgument(roomDao.existsByRid(roomId), "room not exist"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -862,9 +863,12 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (type.equals(DeviceTypeEnum.Camera)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result = roomMemberDao.updateCameraByRidAndUid(roomId, userId, enable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (type.equals(DeviceTypeEnum.Microphone)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result = roomMemberDao.updateMicByRidAndUid(roomId, userId, enable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            result = roomMemberDao.updateMusicByRidAndUid(roomId, userId, enable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         deviceResourceMessage.setUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         imHelper.publishMessage(userId, roomId, deviceResourceMessage, 1); 
			 |