|
@@ -175,7 +175,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
|
|
RoomResult.MemberResult userResult = new RoomResult.MemberResult();
|
|
RoomResult.MemberResult userResult = new RoomResult.MemberResult();
|
|
|
RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
RoomMember member = roomMemberDao.findByRidAndUid(roomId, userId);
|
|
|
-
|
|
|
|
|
String userName;
|
|
String userName;
|
|
|
if (member == null) {
|
|
if (member == null) {
|
|
|
int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
int count = roomMemberDao.countByRidAndExcludeRole(roomId, RoleEnum.RoleAudience.getValue());
|
|
@@ -209,6 +208,7 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
|
|
List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, courseId,null, null, null);
|
|
List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, courseId,null, null, null);
|
|
|
|
|
|
|
|
|
|
+ Room room = roomDao.findByRid(roomId);
|
|
|
String display = "";
|
|
String display = "";
|
|
|
if (roleEnum == RoleTeacher) {
|
|
if (roleEnum == RoleTeacher) {
|
|
|
display = "display://type=1?userId=" + userId + "?uri=";
|
|
display = "display://type=1?userId=" + userId + "?uri=";
|
|
@@ -224,7 +224,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
}
|
|
|
//获取学员曲目下载状态
|
|
//获取学员曲目下载状态
|
|
|
userResult.setExamSongDownloadJson(examSongDownloadData);
|
|
userResult.setExamSongDownloadJson(examSongDownloadData);
|
|
|
- Room room = roomDao.findByRid(roomId);
|
|
|
|
|
if (room != null) {
|
|
if (room != null) {
|
|
|
display = room.getDisplay();
|
|
display = room.getDisplay();
|
|
|
}
|
|
}
|
|
@@ -261,6 +260,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
roomResult.setMembers(roomMemberList,midiMap,examSongMap,scheduleStudentMusicScores);
|
|
roomResult.setMembers(roomMemberList,midiMap,examSongMap,scheduleStudentMusicScores);
|
|
|
}
|
|
}
|
|
|
roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
|
|
roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
|
|
|
|
|
+ if (room != null) {
|
|
|
|
|
+ roomResult.setSoundVolume(room.getSoundVolume());
|
|
|
|
|
+ }
|
|
|
log.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
|
|
log.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId, userName, roleEnum);
|
|
|
return roomResult;
|
|
return roomResult;
|
|
|
}
|
|
}
|
|
@@ -828,14 +830,22 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}else if (data.getMusicScoreOn() != null) {
|
|
}else if (data.getMusicScoreOn() != null) {
|
|
|
typeEnum = DeviceTypeEnum.MusicScore;
|
|
typeEnum = DeviceTypeEnum.MusicScore;
|
|
|
enable = data.getMusicScoreOn();
|
|
enable = data.getMusicScoreOn();
|
|
|
|
|
+ if(enable){
|
|
|
|
|
+ //保存伴奏音量
|
|
|
|
|
+ roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
|
|
|
|
|
+ }
|
|
|
}else if (data.getAccompanimentOn() != null) {
|
|
}else if (data.getAccompanimentOn() != null) {
|
|
|
typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
|
|
typeEnum = DeviceTypeEnum.MusicScoreAccompaniment;
|
|
|
enable = data.getAccompanimentOn();
|
|
enable = data.getAccompanimentOn();
|
|
|
|
|
+ if(enable){
|
|
|
|
|
+ //保存伴奏音量
|
|
|
|
|
+ roomDao.updateSoundVolumeById(roomId,data.getSoundVolume());
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);
|
|
throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);
|
|
|
}
|
|
}
|
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
SysUser authUser = sysUserFeignService.queryUserInfo();
|
|
|
- log.info("controlDevice: userId={}, typeEnum={}, onOff={}", userId, typeEnum, enable);
|
|
|
|
|
|
|
+ log.info("controlDevice: userId = {}, typeEnum = {}, enable = {} ,roomId = {}", userId, typeEnum, enable, roomId);
|
|
|
|
|
|
|
|
if (enable) {
|
|
if (enable) {
|
|
|
if (typeEnum.equals(DeviceTypeEnum.ExamSong)){
|
|
if (typeEnum.equals(DeviceTypeEnum.ExamSong)){
|
|
@@ -856,20 +866,22 @@ public class RoomServiceImpl implements RoomService {
|
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
|
//关闭所有曲目播放
|
|
//关闭所有曲目播放
|
|
|
courseScheduleStudentMusicScoreDao.closePlayStatus(scheduleId,Integer.parseInt(userId),null);
|
|
courseScheduleStudentMusicScoreDao.closePlayStatus(scheduleId,Integer.parseInt(userId),null);
|
|
|
- //原音
|
|
|
|
|
- courseScheduleStudentMusicScoreDao.openPlayStatus(scheduleId,data.getMusicScoreAccompanimentId());
|
|
|
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), enable);
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), enable);
|
|
|
deviceResourceMessage.setMusicScoreAccompanimentId(data.getMusicScoreAccompanimentId());
|
|
deviceResourceMessage.setMusicScoreAccompanimentId(data.getMusicScoreAccompanimentId());
|
|
|
deviceResourceMessage.setUserId(userId);
|
|
deviceResourceMessage.setUserId(userId);
|
|
|
|
|
+ deviceResourceMessage.setSoundVolume(data.getSoundVolume());
|
|
|
|
|
+ //原音
|
|
|
|
|
+ courseScheduleStudentMusicScoreDao.openPlayStatus(scheduleId, data.getMusicScoreAccompanimentId(), Integer.parseInt(userId));
|
|
|
imHelper.publishMessage(authUser.getId().toString(), roomId, deviceResourceMessage, 1);
|
|
imHelper.publishMessage(authUser.getId().toString(), roomId, deviceResourceMessage, 1);
|
|
|
}else if(typeEnum.equals(DeviceTypeEnum.MusicScoreAccompaniment)){
|
|
}else if(typeEnum.equals(DeviceTypeEnum.MusicScoreAccompaniment)){
|
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
long scheduleId = Long.parseLong(roomId.substring(1));
|
|
|
//关闭所有曲目播放
|
|
//关闭所有曲目播放
|
|
|
courseScheduleStudentMusicScoreDao.closePlayStatus(scheduleId,Integer.parseInt(userId),null);
|
|
courseScheduleStudentMusicScoreDao.closePlayStatus(scheduleId,Integer.parseInt(userId),null);
|
|
|
- courseScheduleStudentMusicScoreDao.openAccompanimentPlayStatus(scheduleId,data.getMusicScoreAccompanimentId());
|
|
|
|
|
|
|
+ courseScheduleStudentMusicScoreDao.openAccompanimentPlayStatus(scheduleId,data.getMusicScoreAccompanimentId(),Integer.parseInt(userId));
|
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), enable);
|
|
DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), enable);
|
|
|
deviceResourceMessage.setMusicScoreAccompanimentId(data.getMusicScoreAccompanimentId());
|
|
deviceResourceMessage.setMusicScoreAccompanimentId(data.getMusicScoreAccompanimentId());
|
|
|
deviceResourceMessage.setUserId(userId);
|
|
deviceResourceMessage.setUserId(userId);
|
|
|
|
|
+ deviceResourceMessage.setSoundVolume(data.getSoundVolume());
|
|
|
imHelper.publishMessage(authUser.getId().toString(), roomId, deviceResourceMessage, 1);
|
|
imHelper.publishMessage(authUser.getId().toString(), roomId, deviceResourceMessage, 1);
|
|
|
}else {
|
|
}else {
|
|
|
String ticket = IdentifierUtils.uuid();
|
|
String ticket = IdentifierUtils.uuid();
|
|
@@ -931,6 +943,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean batchControlDevice(ReqDeviceControlData data) throws Exception {
|
|
public Boolean batchControlDevice(ReqDeviceControlData data) throws Exception {
|
|
|
|
|
+ if(data.getExamSongOn() != null || data.getMusicScoreOn() != null || data.getAccompanimentOn() != null){
|
|
|
|
|
+ List<BasicUserDto> students = courseScheduleStudentPaymentDao.findStudents(Long.parseLong(data.getRoomId().substring(1)));
|
|
|
|
|
+ for (BasicUserDto e:students) {
|
|
|
|
|
+ data.setUserId(e.getUserId().toString());
|
|
|
|
|
+ controlDevice(data);
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
List<RoomMember> roomMembers;
|
|
List<RoomMember> roomMembers;
|
|
|
if(StringUtils.isNotEmpty(data.getUserId())){
|
|
if(StringUtils.isNotEmpty(data.getUserId())){
|
|
|
roomMembers = new ArrayList<>();
|
|
roomMembers = new ArrayList<>();
|
|
@@ -944,24 +964,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
if(roomMembers.size() == 0){
|
|
if(roomMembers.size() == 0){
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
- if (data.getExamSongOn() != null || data.getMusicScoreOn() != null || data.getAccompanimentOn() != null) {
|
|
|
|
|
- if(StringUtils.isNotEmpty(data.getUserId())){
|
|
|
|
|
- for (RoomMember e:roomMembers) {
|
|
|
|
|
- data.setUserId(e.getUid());
|
|
|
|
|
- controlDevice(data);
|
|
|
|
|
- }
|
|
|
|
|
- }else {
|
|
|
|
|
- List<BasicUserDto> students = courseScheduleStudentPaymentDao.findStudents(Long.parseLong(data.getRoomId().substring(1)));
|
|
|
|
|
- for (BasicUserDto e:students) {
|
|
|
|
|
- data.setUserId(e.getUserId().toString());
|
|
|
|
|
- controlDevice(data);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- } else {
|
|
|
|
|
- for (RoomMember e:roomMembers) {
|
|
|
|
|
- data.setUserId(e.getUid());
|
|
|
|
|
- controlDevice(data);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ for (RoomMember e:roomMembers) {
|
|
|
|
|
+ data.setUserId(e.getUid());
|
|
|
|
|
+ controlDevice(data);
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -1069,9 +1074,11 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}else {
|
|
}else {
|
|
|
roomMemberDao.updateMusicByRidAndUid(roomId, userId, enable);
|
|
roomMemberDao.updateMusicByRidAndUid(roomId, userId, enable);
|
|
|
}
|
|
}
|
|
|
|
|
+ Room room = roomDao.findByRid(roomId);
|
|
|
|
|
+ deviceResourceMessage.setSoundVolume(room.getSoundVolume());
|
|
|
deviceResourceMessage.setUserId(userId);
|
|
deviceResourceMessage.setUserId(userId);
|
|
|
imHelper.publishMessage(userId, roomId, deviceResourceMessage, 1);
|
|
imHelper.publishMessage(userId, roomId, deviceResourceMessage, 1);
|
|
|
- log.info("syncDeviceState : {}, {}, result = {}", roomId, enable);
|
|
|
|
|
|
|
+ log.info("syncDeviceState : {}, {}", roomId, enable);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|