zouxuan 5 years ago
parent
commit
30d197f78a

+ 3 - 0
mec-im/src/main/java/com/ym/controller/RoomController.java

@@ -140,6 +140,7 @@ public class RoomController{
 
     @RequestMapping(value = "/device/batchControl", method = RequestMethod.POST)
     public Object batchControlDevice(@RequestBody ReqDeviceControlData data)throws Exception {
+        log.info("batchControl: {}",JSONObject.toJSON(data));
         boolean result = roomService.batchControlDevice(data);
         return new BaseResponse<>(result);
     }
@@ -152,6 +153,8 @@ public class RoomController{
             result = roomService.syncDeviceState(data.getRoomId(), DeviceTypeEnum.Camera, data.getCameraOn());
         } else if (data.getMicrophoneOn() != null) {
             result = roomService.syncDeviceState(data.getRoomId(), DeviceTypeEnum.Microphone, data.getMicrophoneOn());
+        } else if (data.getMusicModeOn() != null) {
+            result = roomService.syncDeviceState(data.getRoomId(), DeviceTypeEnum.MusicMode, data.getMusicModeOn());
         } else {
             throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);
         }

+ 6 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -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);