|
@@ -77,7 +77,7 @@ public class ImServiceImpl implements ImService {
|
|
|
|
|
|
RTCRoomMessage roomMessage = RTCRoomMessage.builder()
|
|
RTCRoomMessage roomMessage = RTCRoomMessage.builder()
|
|
.objectName(RTCRoomMessage.MEMBER_CHANGE_MESSAGE)
|
|
.objectName(RTCRoomMessage.MEMBER_CHANGE_MESSAGE)
|
|
- .fromUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .fromUserId(roomMember.getUserId())
|
|
.content(action.build())
|
|
.content(action.build())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
@@ -88,12 +88,12 @@ public class ImServiceImpl implements ImService {
|
|
} else {
|
|
} else {
|
|
ImNetworkRoomMemberChangedMessage msg = new ImNetworkRoomMemberChangedMessage(roomMember, ImNetworkRoomMemberChangedEnum.JOIN);
|
|
ImNetworkRoomMemberChangedMessage msg = new ImNetworkRoomMemberChangedMessage(roomMember, ImNetworkRoomMemberChangedEnum.JOIN);
|
|
//获取节拍器信息
|
|
//获取节拍器信息
|
|
- ImNetworkMetronomeMessage imNetworkCustomMessage = imNetworkRoomMemberStatusService.getMemberMidi(roomMember.getRoomId(), roomMember.getUserId());
|
|
|
|
|
|
+ ImNetworkMetronomeMessage imNetworkCustomMessage = imNetworkRoomMemberStatusService.getMemberMidi(roomMember);
|
|
msg.setMetronomeSwitch(imNetworkCustomMessage.getEnable());
|
|
msg.setMetronomeSwitch(imNetworkCustomMessage.getEnable());
|
|
//获取伴奏信息
|
|
//获取伴奏信息
|
|
ImNetworkRoomMusicSheetDownloadData musicSheetDownloadData = imNetworkRoomMemberStatusService.getMemberExamSong(roomMember.getRoomId(), roomMember.getUserId());
|
|
ImNetworkRoomMusicSheetDownloadData musicSheetDownloadData = imNetworkRoomMemberStatusService.getMemberExamSong(roomMember.getRoomId(), roomMember.getUserId());
|
|
msg.setExamSongSwitch(musicSheetDownloadData.getEnable());
|
|
msg.setExamSongSwitch(musicSheetDownloadData.getEnable());
|
|
- imHelper.publishMessage(roomMember.getImUserId(), roomMember.getRoomId(), msg);
|
|
|
|
|
|
+ imHelper.publishMessage(roomMember.getUserId(), roomMember.getRoomId(), msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -155,14 +155,14 @@ public class ImServiceImpl implements ImService {
|
|
.objectName(RTCRoomMessage.PLAY_MIDI_MESSAGE)
|
|
.objectName(RTCRoomMessage.PLAY_MIDI_MESSAGE)
|
|
.content(messageContent)
|
|
.content(messageContent)
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
- .fromUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .fromUserId(roomMember.getUserId())
|
|
.isIncludeSender(1)
|
|
.isIncludeSender(1)
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
.build();
|
|
.build();
|
|
|
|
|
|
pluginService.sendChatRoomMessage(roomMessage);
|
|
pluginService.sendChatRoomMessage(roomMessage);
|
|
} else {
|
|
} else {
|
|
- imHelper.publishMessage(roomMember.getImUserId(), roomMember.getRoomId(), playMidiMessage, 1);
|
|
|
|
|
|
+ imHelper.publishMessage(roomMember.getUserId(), roomMember.getRoomId(), playMidiMessage, 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -233,18 +233,17 @@ public class ImServiceImpl implements ImService {
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
.isIncludeSender(0)
|
|
.isIncludeSender(0)
|
|
.build();
|
|
.build();
|
|
- String userId = imGroupService.analysisImUserId(deviceControl.getImUserId());
|
|
|
|
|
|
|
|
if(deviceControl.getEnable()){
|
|
if(deviceControl.getEnable()){
|
|
ImNetworkDeviceStateChangedMessage deviceResourceMessage = new ImNetworkDeviceStateChangedMessage(deviceControl.getDeviceType().ordinal(),true);
|
|
ImNetworkDeviceStateChangedMessage deviceResourceMessage = new ImNetworkDeviceStateChangedMessage(deviceControl.getDeviceType().ordinal(),true);
|
|
deviceResourceMessage.setUserId(deviceControl.getImUserId());
|
|
deviceResourceMessage.setUserId(deviceControl.getImUserId());
|
|
switch (deviceControl.getDeviceType()) {
|
|
switch (deviceControl.getDeviceType()) {
|
|
case EXAM_SONG:
|
|
case EXAM_SONG:
|
|
- ImNetworkRoomMusicSheetDownloadData msg = imNetworkRoomMemberStatusService.getMemberExamSong(roomId, Long.parseLong(userId));
|
|
|
|
|
|
+ ImNetworkRoomMusicSheetDownloadData msg = imNetworkRoomMemberStatusService.getMemberExamSong(roomId, deviceControl.getImUserId());
|
|
msg.setEnable(true);
|
|
msg.setEnable(true);
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomId)
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomId)
|
|
- .eq(ImNetworkRoomMemberStatus::getUserId,userId)
|
|
|
|
|
|
+ .eq(ImNetworkRoomMemberStatus::getImUserId,deviceControl.getImUserId())
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
|
|
|
|
// 消息发送
|
|
// 消息发送
|
|
@@ -286,7 +285,10 @@ public class ImServiceImpl implements ImService {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}else {
|
|
}else {
|
|
- ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().findByRidAndUid(roomId, Long.parseLong(userId), RoleEnum.RoleStudent.getValue()))
|
|
|
|
|
|
+ ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.lambdaQuery()
|
|
|
|
+ .eq(ImNetworkRoomMember::getRoomId,roomId)
|
|
|
|
+ .eq(ImNetworkRoomMember::getUserId,deviceControl.getImUserId())
|
|
|
|
+ .eq(ImNetworkRoomMember::getRole,RoleEnum.RoleStudent.getValue()).last("LIMIT 1").one())
|
|
.orElseThrow(()-> new BizException("用户不在房间内"));
|
|
.orElseThrow(()-> new BizException("用户不在房间内"));
|
|
switch (deviceControl.getDeviceType()) {
|
|
switch (deviceControl.getDeviceType()) {
|
|
case CAMERA:
|
|
case CAMERA:
|
|
@@ -306,7 +308,7 @@ public class ImServiceImpl implements ImService {
|
|
msg.setEnable(false);
|
|
msg.setEnable(false);
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomId)
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomId)
|
|
- .eq(ImNetworkRoomMemberStatus::getUserId,userId)
|
|
|
|
|
|
+ .eq(ImNetworkRoomMemberStatus::getImUserId,roomMember.getUserId())
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -339,7 +341,7 @@ public class ImServiceImpl implements ImService {
|
|
msg.setEnable(deviceControl.getEnable());
|
|
msg.setEnable(deviceControl.getEnable());
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomMember.getRoomId())
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomMember.getRoomId())
|
|
- .eq(ImNetworkRoomMemberStatus::getUserId,roomMember.getUserId())
|
|
|
|
|
|
+ .eq(ImNetworkRoomMemberStatus::getImUserId,roomMember.getUserId())
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
break;
|
|
break;
|
|
case MICROPHONE:
|
|
case MICROPHONE:
|
|
@@ -364,7 +366,7 @@ public class ImServiceImpl implements ImService {
|
|
RTCRoomMessage.MessageContent.MessageContentBuilder action = RTCRoomMessage.MessageContent.builder()
|
|
RTCRoomMessage.MessageContent.MessageContentBuilder action = RTCRoomMessage.MessageContent.builder()
|
|
.type(ImNetworkActionEnum.APPROVE.ordinal())
|
|
.type(ImNetworkActionEnum.APPROVE.ordinal())
|
|
.enable(deviceControl.getEnable())
|
|
.enable(deviceControl.getEnable())
|
|
- .targetId(roomMember.getImUserId())
|
|
|
|
|
|
+ .targetId(roomMember.getUserId())
|
|
.targetName(student.getUsername())
|
|
.targetName(student.getUsername())
|
|
.sendUserInfo(build);
|
|
.sendUserInfo(build);
|
|
|
|
|
|
@@ -373,7 +375,7 @@ public class ImServiceImpl implements ImService {
|
|
.objectName(RTCRoomMessage.CONTROL_DEVICE_NOTIFY_MESSAGE)
|
|
.objectName(RTCRoomMessage.CONTROL_DEVICE_NOTIFY_MESSAGE)
|
|
.content(action.build())
|
|
.content(action.build())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
- .fromUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .fromUserId(roomMember.getUserId())
|
|
.isIncludeSender(1)
|
|
.isIncludeSender(1)
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
.build();
|
|
.build();
|
|
@@ -389,7 +391,7 @@ public class ImServiceImpl implements ImService {
|
|
// 腾讯云消息推送
|
|
// 腾讯云消息推送
|
|
RTCRoomMessage message = RTCRoomMessage.builder()
|
|
RTCRoomMessage message = RTCRoomMessage.builder()
|
|
.objectName(RTCRoomMessage.DEVICE_MESSAGE)
|
|
.objectName(RTCRoomMessage.DEVICE_MESSAGE)
|
|
- .fromUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .fromUserId(roomMember.getUserId())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.content(action.build())
|
|
.content(action.build())
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
@@ -400,13 +402,13 @@ public class ImServiceImpl implements ImService {
|
|
}else {
|
|
}else {
|
|
ImNetworkControlDeviceNotifyMessage msg = new ImNetworkControlDeviceNotifyMessage(ImNetworkActionEnum.APPROVE.ordinal());
|
|
ImNetworkControlDeviceNotifyMessage msg = new ImNetworkControlDeviceNotifyMessage(ImNetworkActionEnum.APPROVE.ordinal());
|
|
msg.setType(deviceControl.getDeviceType().ordinal());
|
|
msg.setType(deviceControl.getDeviceType().ordinal());
|
|
- msg.setOpUserId(roomMember.getImUserId());
|
|
|
|
|
|
+ msg.setOpUserId(roomMember.getUserId());
|
|
msg.setOpUserName(student.getUsername());
|
|
msg.setOpUserName(student.getUsername());
|
|
//获取老师编号
|
|
//获取老师编号
|
|
String imUserId1 = imGroupService.getImUserId(teacher.getUserId(), RoleEnum.RoleTeacher);
|
|
String imUserId1 = imGroupService.getImUserId(teacher.getUserId(), RoleEnum.RoleTeacher);
|
|
- imHelper.publishMessage(roomMember.getImUserId(), imUserId1, deviceControl.getRoomId(), msg);
|
|
|
|
|
|
+ imHelper.publishMessage(roomMember.getUserId(), imUserId1, deviceControl.getRoomId(), msg);
|
|
//发送设备状态变更消息
|
|
//发送设备状态变更消息
|
|
- this.sendDeviceStateChangedMessage(deviceControl, roomMember.getImUserId());
|
|
|
|
|
|
+ this.sendDeviceStateChangedMessage(deviceControl, roomMember.getUserId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -431,7 +433,7 @@ public class ImServiceImpl implements ImService {
|
|
msg.setEnable(deviceStatusSync.getEnable());
|
|
msg.setEnable(deviceStatusSync.getEnable());
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
imNetworkRoomMemberStatusService.lambdaUpdate()
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomMember.getRoomId())
|
|
.eq(ImNetworkRoomMemberStatus::getRoomId,roomMember.getRoomId())
|
|
- .eq(ImNetworkRoomMemberStatus::getUserId,roomMember.getUserId())
|
|
|
|
|
|
+ .eq(ImNetworkRoomMemberStatus::getImUserId,roomMember.getUserId())
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
.set(ImNetworkRoomMemberStatus::getMusicSheetDownloadJson,JSON.toJSONString(msg)).update();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -455,7 +457,7 @@ public class ImServiceImpl implements ImService {
|
|
// 腾讯云消息推送
|
|
// 腾讯云消息推送
|
|
RTCRoomMessage message = RTCRoomMessage.builder()
|
|
RTCRoomMessage message = RTCRoomMessage.builder()
|
|
.objectName(RTCRoomMessage.DEVICE_MESSAGE)
|
|
.objectName(RTCRoomMessage.DEVICE_MESSAGE)
|
|
- .fromUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .fromUserId(roomMember.getUserId())
|
|
.toChatRoomId(deviceStatusSync.getRoomId())
|
|
.toChatRoomId(deviceStatusSync.getRoomId())
|
|
.content(messageContent)
|
|
.content(messageContent)
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
@@ -465,7 +467,7 @@ public class ImServiceImpl implements ImService {
|
|
pluginService.sendChatRoomMessage(message);
|
|
pluginService.sendChatRoomMessage(message);
|
|
} else {
|
|
} else {
|
|
// 融云消息推送
|
|
// 融云消息推送
|
|
- this.sendDeviceStateChangedMessage(deviceStatusSync, roomMember.getImUserId());
|
|
|
|
|
|
+ this.sendDeviceStateChangedMessage(deviceStatusSync, roomMember.getUserId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -483,7 +485,7 @@ public class ImServiceImpl implements ImService {
|
|
RTCRoomMessage.MessageContent.MessageContentBuilder action = RTCRoomMessage.MessageContent.builder()
|
|
RTCRoomMessage.MessageContent.MessageContentBuilder action = RTCRoomMessage.MessageContent.builder()
|
|
.type(ImNetworkActionEnum.REJECT.ordinal())
|
|
.type(ImNetworkActionEnum.REJECT.ordinal())
|
|
.enable(deviceControl.getEnable())
|
|
.enable(deviceControl.getEnable())
|
|
- .targetId(roomMember.getImUserId())
|
|
|
|
|
|
+ .targetId(roomMember.getUserId())
|
|
.targetName(roomMember.getUsername())
|
|
.targetName(roomMember.getUsername())
|
|
.sendUserInfo(build);
|
|
.sendUserInfo(build);
|
|
|
|
|
|
@@ -491,7 +493,7 @@ public class ImServiceImpl implements ImService {
|
|
.objectName(RTCRoomMessage.CONTROL_DEVICE_NOTIFY_MESSAGE)
|
|
.objectName(RTCRoomMessage.CONTROL_DEVICE_NOTIFY_MESSAGE)
|
|
.content(action.build())
|
|
.content(action.build())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
.toChatRoomId(roomMember.getRoomId())
|
|
- .fromUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .fromUserId(roomMember.getUserId())
|
|
.isIncludeSender(1)
|
|
.isIncludeSender(1)
|
|
.isPersisted(1)
|
|
.isPersisted(1)
|
|
.build();
|
|
.build();
|
|
@@ -500,16 +502,16 @@ public class ImServiceImpl implements ImService {
|
|
} else {
|
|
} else {
|
|
ImNetworkControlDeviceNotifyMessage msg = new ImNetworkControlDeviceNotifyMessage(ImNetworkActionEnum.REJECT.ordinal());
|
|
ImNetworkControlDeviceNotifyMessage msg = new ImNetworkControlDeviceNotifyMessage(ImNetworkActionEnum.REJECT.ordinal());
|
|
msg.setType(deviceControl.getDeviceType().ordinal());
|
|
msg.setType(deviceControl.getDeviceType().ordinal());
|
|
- msg.setOpUserId(roomMember.getImUserId());
|
|
|
|
|
|
+ msg.setOpUserId(roomMember.getUserId());
|
|
msg.setOpUserName(roomMember.getUsername());
|
|
msg.setOpUserName(roomMember.getUsername());
|
|
- imHelper.publishMessage(roomMember.getImUserId(),
|
|
|
|
|
|
+ imHelper.publishMessage(roomMember.getUserId(),
|
|
imGroupService.getImUserId(teacher.getUserId(),ClientEnum.TEACHER), roomMember.getRoomId(), msg);
|
|
imGroupService.getImUserId(teacher.getUserId(),ClientEnum.TEACHER), roomMember.getRoomId(), msg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private RTCRoomMessage.MessageUser getSendUser(ImNetworkRoomMember roomMember) {
|
|
private RTCRoomMessage.MessageUser getSendUser(ImNetworkRoomMember roomMember) {
|
|
RTCRoomMessage.MessageUser build = RTCRoomMessage.MessageUser.builder()
|
|
RTCRoomMessage.MessageUser build = RTCRoomMessage.MessageUser.builder()
|
|
- .sendUserId(roomMember.getImUserId())
|
|
|
|
|
|
+ .sendUserId(roomMember.getUserId())
|
|
.sendUserName(roomMember.getUsername())
|
|
.sendUserName(roomMember.getUsername())
|
|
.avatarUrl(roomMember.getAvatar())
|
|
.avatarUrl(roomMember.getAvatar())
|
|
.build();
|
|
.build();
|