|
@@ -473,30 +473,27 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public void adjustExamSong(ImNetworkMusicSheetDownDto downDto) throws Exception {
|
|
|
|
|
|
+ public void musicSheetDownNotify(String roomId, Long accompanimentId, Integer status) throws Exception {
|
|
|
|
+ log.info("musicSheetDownNotify: roomId={},accompanimentId={},status={}", roomId,accompanimentId,status);
|
|
SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
|
|
SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
|
|
orElseThrow(()-> new BizException("请登录"));
|
|
orElseThrow(()-> new BizException("请登录"));
|
|
- log.info("adjustExamSong: downDto={}", downDto);
|
|
|
|
- MusicSheet musicSheet = Optional.ofNullable(musicSheetService.getById(downDto.getMusicSheetId())).
|
|
|
|
- orElseThrow(()-> new BizException("曲目信息不存在"));
|
|
|
|
- long scheduleId = Long.parseLong(downDto.getRoomId());
|
|
|
|
- String examJson = courseScheduleStudentPaymentService.getDao().getMusicSheetByCourseIdAndUserId(scheduleId, sysUser.getId());
|
|
|
|
- ImNetworkRoomMusicSheetDownloadData msg;
|
|
|
|
- if (StringUtils.isEmpty(examJson)) {
|
|
|
|
- msg = new ImNetworkRoomMusicSheetDownloadData();
|
|
|
|
- msg.setMusicSheetName(musicSheet.getMusicSheetName());
|
|
|
|
- msg.setUrl(musicSheet.getUrl());
|
|
|
|
- msg.setStatus(downDto.getStatus());
|
|
|
|
- msg.setMusicSheetId(musicSheet.getId());
|
|
|
|
- } else {
|
|
|
|
- msg = JSON.parseObject(examJson, ImNetworkRoomMusicSheetDownloadData.class);
|
|
|
|
- msg.setStatus(downDto.getStatus());
|
|
|
|
|
|
+ Long scheduleId = Long.parseLong(roomId);
|
|
|
|
+ List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(accompanimentId, scheduleId, sysUser.getId(), null, null);
|
|
|
|
+ if(CollectionUtils.isEmpty(studentMusicSheetResults)){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (accompanimentId != null) {
|
|
|
|
+ Optional.ofNullable(musicSheetAccompanimentService.getById(accompanimentId)).
|
|
|
|
+ orElseThrow(()-> new BizException("曲目信息不存在"));
|
|
|
|
+ //修改下载状态
|
|
|
|
+ CourseScheduleStudentMusicSheetResult musicSheetResult = studentMusicSheetResults.get(0);
|
|
|
|
+ musicSheetResult.setDownStatus(status);
|
|
|
|
+ courseScheduleStudentMusicSheetService.updateById(musicSheetResult);
|
|
}
|
|
}
|
|
- courseScheduleStudentPaymentService.getDao().adjustExamSong(scheduleId,sysUser.getId(),JSON.toJSONString(msg));
|
|
|
|
//给老师发送学员曲目下载状态
|
|
//给老师发送学员曲目下载状态
|
|
CourseSchedule courseSchedule = courseScheduleService.getById(scheduleId);
|
|
CourseSchedule courseSchedule = courseScheduleService.getById(scheduleId);
|
|
- ImNetworkMusicSheetDownloadStatusMessage deviceResourceMessage = new ImNetworkMusicSheetDownloadStatusMessage(downDto.getStatus(), sysUser.getId(), downDto.getMusicSheetId());
|
|
|
|
- imHelper.publishMessage(sysUser.getId().toString(), courseSchedule.getTeacherId().toString(), downDto.getRoomId(), deviceResourceMessage);
|
|
|
|
|
|
+ ImNetworkMusicSheetDownloadStatusMessage statusMessage = new ImNetworkMusicSheetDownloadStatusMessage(status,studentMusicSheetResults);
|
|
|
|
+ imHelper.publishMessage(sysUser.getId().toString(), courseSchedule.getTeacherId().toString(), roomId, statusMessage);
|
|
}
|
|
}
|
|
|
|
|
|
//校验用户是否提前进入教室
|
|
//校验用户是否提前进入教室
|