|
@@ -26,6 +26,9 @@ import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.BiConsumer;
|
|
|
+import java.util.function.BiFunction;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -202,10 +205,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void leaveRoomSuccess(String roomId, Long userId) throws Exception {
|
|
|
log.info("leaveRoomSuccess: roomId={}, userId={}", roomId, userId);
|
|
|
- CourseSchedule courseSchedule = courseScheduleService.getById(roomId);
|
|
|
- if(Objects.isNull(courseSchedule)){
|
|
|
- return;
|
|
|
- }
|
|
|
+ CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(roomId))
|
|
|
+ .orElseThrow(()->new BizException("房间信息不存在"));
|
|
|
UserRoleEnum roleEnum = UserRoleEnum.STUDENT;
|
|
|
if(Objects.equals(courseSchedule.getTeacherId(),userId)){
|
|
|
roleEnum = UserRoleEnum.TEACHER;
|
|
@@ -482,9 +483,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
orElseThrow(()->new BizException("房间信息不存在"));
|
|
|
imHelper.publishMessage(sysUser.getId().toString(),teacherId.toString(), deviceControl.getRoomId(), msg);
|
|
|
|
|
|
- ImNetworkDeviceStateChangedMessage deviceResourceMessage = new ImNetworkDeviceStateChangedMessage(deviceControl.getDeviceType().ordinal(),deviceControl.getEnable());
|
|
|
- deviceResourceMessage.setUserId(sysUser.getId().toString());
|
|
|
- imHelper.publishMessage(sysUser.getId().toString(), deviceControl.getRoomId(), deviceResourceMessage, 1);
|
|
|
+ //发送设备状态变更消息
|
|
|
+ this.sendDeviceStateChangedMessage(deviceControl, sysUser.getId(),100);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -524,10 +524,21 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
deviceType == ImNetworkDeviceTypeEnum.MUSIC_MODE){
|
|
|
imNetworkRoomMemberService.getDao().updateById(roomMember);
|
|
|
}
|
|
|
- ImNetworkDeviceStateChangedMessage deviceResourceMessage = new ImNetworkDeviceStateChangedMessage(deviceType.ordinal(),deviceStatusSync.getEnable());
|
|
|
- deviceResourceMessage.setUserId(userId.toString());
|
|
|
+ //发送设备状态同步消息
|
|
|
ImNetworkRoom room = baseMapper.findByRoomId(deviceStatusSync.getRoomId());
|
|
|
- deviceResourceMessage.setSoundVolume(room.getSoundVolume());
|
|
|
+ this.sendDeviceStateChangedMessage(deviceStatusSync,userId,room.getSoundVolume());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BasicUserInfo> queryNoJoinStu(Long roomId) {
|
|
|
+ return courseScheduleStudentPaymentService.getDao().queryNoJoinStu(roomId);
|
|
|
+ }
|
|
|
+
|
|
|
+ //发送设备状态同步消息
|
|
|
+ private void sendDeviceStateChangedMessage(ImNetworkDeviceControlDto deviceStatusSync,Long userId,Integer soundVolume) throws Exception {
|
|
|
+ ImNetworkDeviceStateChangedMessage deviceResourceMessage = new ImNetworkDeviceStateChangedMessage(deviceStatusSync.getDeviceType().ordinal(),deviceStatusSync.getEnable());
|
|
|
+ deviceResourceMessage.setUserId(userId.toString());
|
|
|
+ deviceResourceMessage.setSoundVolume(soundVolume);
|
|
|
imHelper.publishMessage(userId.toString(), deviceStatusSync.getRoomId(), deviceResourceMessage, 1);
|
|
|
}
|
|
|
|