|
@@ -105,11 +105,11 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
@Override
|
|
|
- public RoomResult joinRoom(String userName, String roomId, boolean isAudience, boolean isDisableCamera) 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(roomId != null, "roomId must't be null");
|
|
|
|
|
|
- log.info("joinRoom: roomId={}, userName={}, isAudience={}, isDisableCamera={}", roomId, userName, isAudience, isDisableCamera);
|
|
|
+ log.info("joinRoom: roomId={}, userName={}, isAudience={}, isDisableCamera={},isMusicMode={}", roomId, userName, isAudience, isDisableCamera,isMusicMode);
|
|
|
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
String userId = sysUser.getId().toString();
|
|
@@ -178,7 +178,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}else {
|
|
|
roleEnum = RoleEnum.RoleStudent;
|
|
|
}
|
|
|
- saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera, curTime);
|
|
|
+ saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime);
|
|
|
IMApiResultInfo resultInfo = imHelper.joinGroup(new String[]{userId}, roomId, roomId);
|
|
|
if (!resultInfo.isSuccess()) {
|
|
|
throw new ApiException(ErrorEnum.ERR_CREATE_ROOM_ERROR, resultInfo.getErrorMessage());
|
|
@@ -338,7 +338,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn, Date joinTime) {
|
|
|
+ private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
|
|
|
RoomMember roomMember = new RoomMember();
|
|
|
roomMember.setUid(userId);
|
|
|
roomMember.setName(userName);
|
|
@@ -346,6 +346,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomMember.setRole(role);
|
|
|
roomMember.setCamera(cameraOn);
|
|
|
roomMember.setJoinDt(joinTime);
|
|
|
+ roomMember.setMusicMode(musicModeOn);
|
|
|
roomMemberDao.save(roomMember);
|
|
|
}
|
|
|
|
|
@@ -753,21 +754,23 @@ public class RoomServiceImpl implements RoomService {
|
|
|
taskInfo.setRoomId(roomId);
|
|
|
taskInfo.setTypeEnum(typeEnum);
|
|
|
taskInfo.setOnOff(true);
|
|
|
- taskInfo.setApplyUserId(userId);
|
|
|
+ taskInfo.setApplyUserId(authUser.getId().toString());
|
|
|
taskInfo.setTargetUserId(userId);
|
|
|
taskInfo.setTicket(ticket);
|
|
|
scheduleManager.addTask(taskInfo);
|
|
|
ControlDeviceNotifyMessage msg = new ControlDeviceNotifyMessage(ActionEnum.Invite.ordinal());
|
|
|
msg.setTicket(ticket);
|
|
|
msg.setType(taskInfo.getTypeEnum().ordinal());
|
|
|
- msg.setOpUserId(userId);
|
|
|
+ msg.setOpUserId(authUser.getId().toString());
|
|
|
msg.setOpUserName(authUser.getUsername());
|
|
|
- imHelper.publishMessage(userId, userId, roomId, msg);
|
|
|
+ imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
|
|
|
} else {
|
|
|
if (typeEnum.equals(DeviceTypeEnum.Camera)) {
|
|
|
roomMemberDao.updateCameraByRidAndUid(roomId, userId, false);
|
|
|
- } else {
|
|
|
+ } else if (typeEnum.equals(DeviceTypeEnum.Microphone)){
|
|
|
roomMemberDao.updateMicByRidAndUid(roomId, userId, false);
|
|
|
+ }else {
|
|
|
+ roomMemberDao.updateMusicByRidAndUid(roomId, userId, false);
|
|
|
}
|
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), false);
|
|
|
deviceResourceMessage.setUserId(userId);
|
|
@@ -1269,14 +1272,13 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public boolean statusSync(String roomId,String userId) throws Exception {
|
|
|
log.info("statusSync: roomId={}, userId={}", roomId, userId);
|
|
|
List<RoomMember> byRidAndUid = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
if(byRidAndUid.size() > 0){
|
|
|
// SysUser sysUser = sysUserFeignService.queryUserById(Integer.parseInt(userId));
|
|
|
SysUser sysUser = teacherDao.getUser(Integer.parseInt(userId));
|
|
|
- studentDao.lockUser(Integer.parseInt(userId));
|
|
|
Teacher teacher = teacherDao.get(sysUser.getId());
|
|
|
CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId.substring(1)));
|
|
|
log.info("statusSyncLevelRoom: roomId={}, userId={}", roomId, userId);
|