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