|
@@ -364,8 +364,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
}
|
|
|
|
|
|
List<RoomMember> roomMemberList = roomMemberDao.findByRid(roomId);
|
|
|
- if (roomMemberList != null && roomMemberList.size() > 0) {
|
|
|
- Set<String> userIds = roomMemberList.stream().map(e -> e.getUid()).collect(Collectors.toSet());
|
|
|
+ if (CollectionUtils.isNotEmpty(roomMemberList)) {
|
|
|
+ Set<String> userIds = roomMemberList.stream().map(RoomMember::getUid).collect(Collectors.toSet());
|
|
|
Map<Integer, String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds, courseId.toString()));
|
|
|
Map<Integer, String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds, courseId.toString()));
|
|
|
roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
|
|
@@ -1758,16 +1758,36 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public List<RoomResult.MemberResult> getMembers(String roomId) throws Exception {
|
|
|
+ public List<RoomResult.MemberResult> getMembers(String roomId, String userId) throws Exception {
|
|
|
+
|
|
|
CheckUtils.checkArgument(roomId != null, "roomId must't be null");
|
|
|
List<RoomMember> roomMemberList = roomMemberDao.findByRid(roomId);
|
|
|
- if (roomMemberList != null && roomMemberList.size() > 0) {
|
|
|
+
|
|
|
+ // 参数过滤
|
|
|
+ if (StringUtils.isNotBlank(userId)) {
|
|
|
+ roomMemberList = roomMemberList.stream().filter(x -> x.getUid().equals(userId)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 网络课用户信息
|
|
|
+ if (CollectionUtils.isNotEmpty(roomMemberList)) {
|
|
|
List<CourseScheduleStudentMusicScore> scheduleStudentMusicScores = courseScheduleStudentMusicScoreDao.queryByScoreIdAndCourseId(null, Long.parseLong(roomId.substring(1)), null, null, null);
|
|
|
RoomResult roomResult = new RoomResult();
|
|
|
- Set<String> userIds = roomMemberList.stream().map(e -> e.getUid()).collect(Collectors.toSet());
|
|
|
+ Set<String> userIds = roomMemberList.stream().map(RoomMember::getUid).collect(Collectors.toSet());
|
|
|
Map<Integer, String> midiMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryMidiByUserIdsAndCourseId(userIds, roomId.substring(1)));
|
|
|
Map<Integer, String> examSongMap = MapUtil.convertMybatisMap(courseScheduleStudentPaymentDao.queryExamSongByUserIdsAndCourseId(userIds, roomId.substring(1)));
|
|
|
roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
|
|
|
+
|
|
|
+ // 全员静音开启状态
|
|
|
+ CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId.substring(1)));
|
|
|
+ if (Optional.ofNullable(courseSchedule.getMuteAll()).orElse(false)) {
|
|
|
+ for (RoomResult.MemberResult item : roomResult.getMembers()) {
|
|
|
+ // 重置学生用户当前静音状态
|
|
|
+ if (RoleStudent.getValue() == item.getRole()) {
|
|
|
+ item.setMicrophone(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return roomResult.getMembers();
|
|
|
}
|
|
|
return null;
|