|  | @@ -2,7 +2,6 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import com.alibaba.fastjson.JSON;
 |  |  import com.alibaba.fastjson.JSON;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
											
												
													
														|  | -import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 |  | 
 | 
											
												
													
														|  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 |  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomDao;
 |  |  import com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomDao;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.dao.SysConfigDao;
 |  |  import com.yonge.cooleshow.biz.dal.dao.SysConfigDao;
 | 
											
										
											
												
													
														|  | @@ -26,9 +25,6 @@ import org.springframework.util.CollectionUtils;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import javax.annotation.Resource;
 |  |  import javax.annotation.Resource;
 | 
											
												
													
														|  |  import java.util.*;
 |  |  import java.util.*;
 | 
											
												
													
														|  | -import java.util.function.BiConsumer;
 |  | 
 | 
											
												
													
														|  | -import java.util.function.BiFunction;
 |  | 
 | 
											
												
													
														|  | -import java.util.function.Function;
 |  | 
 | 
											
												
													
														|  |  import java.util.stream.Collectors;
 |  |  import java.util.stream.Collectors;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  /**
 |  |  /**
 | 
											
										
											
												
													
														|  | @@ -43,7 +39,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      private final static Logger log = LoggerFactory.getLogger(ImNetworkRoomServiceImpl.class);
 |  |      private final static Logger log = LoggerFactory.getLogger(ImNetworkRoomServiceImpl.class);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Resource
 |  |      @Resource
 | 
											
												
													
														|  | -    private SysUserFeignService sysUserFeignService;
 |  | 
 | 
											
												
													
														|  | 
 |  | +    private SysUserService sysUserService;
 | 
											
												
													
														|  |      @Resource
 |  |      @Resource
 | 
											
												
													
														|  |      private TeacherDao teacherDao;
 |  |      private TeacherDao teacherDao;
 | 
											
												
													
														|  |      @Resource
 |  |      @Resource
 | 
											
										
											
												
													
														|  | @@ -69,9 +65,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public HttpResponseResult<ImNetworkRoomResult> joinRoom(Long courseScheduleId) throws Exception {
 |  |      public HttpResponseResult<ImNetworkRoomResult> joinRoom(Long courseScheduleId) throws Exception {
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
 |  |          CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
 | 
											
												
													
														|  |                  orElseThrow(()->new BizException("房间信息不存在"));
 |  |                  orElseThrow(()->new BizException("房间信息不存在"));
 | 
											
												
													
														|  |          UserRoleEnum userRole = UserRoleEnum.STUDENT;
 |  |          UserRoleEnum userRole = UserRoleEnum.STUDENT;
 | 
											
										
											
												
													
														|  | @@ -179,9 +173,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void joinRoomFailure(String roomId) {
 |  |      public void joinRoomFailure(String roomId) {
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          log.info("joinRoomFailure: roomId={}, userId={}", roomId, userId);
 |  |          log.info("joinRoomFailure: roomId={}, userId={}", roomId, userId);
 | 
											
												
													
														|  |          imNetworkRoomMemberService.getDao().delByRidAndUid(roomId, userId);
 |  |          imNetworkRoomMemberService.getDao().delByRidAndUid(roomId, userId);
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
										
											
												
													
														|  | @@ -189,9 +181,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void leaveRoom(String roomId) throws Exception {
 |  |      public void leaveRoom(String roomId) throws Exception {
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          log.info("leaveRoom: roomId={}, userId={}", roomId, userId);
 |  |          log.info("leaveRoom: roomId={}, userId={}", roomId, userId);
 | 
											
												
													
														|  |          long courseScheduleId = Long.parseLong(roomId);
 |  |          long courseScheduleId = Long.parseLong(roomId);
 | 
											
												
													
														|  |          Long teacherId = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
 |  |          Long teacherId = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
 | 
											
										
											
												
													
														|  | @@ -258,9 +248,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void sendImPlayMidiMessage(ImNetworkCustomMessage customMessage) throws Exception {
 |  |      public void sendImPlayMidiMessage(ImNetworkCustomMessage customMessage) throws Exception {
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          Long roomId = customMessage.getRoomId();
 |  |          Long roomId = customMessage.getRoomId();
 | 
											
												
													
														|  |          log.info("sendImPlayMidiMessage: roomId={}, userId={}", roomId, userId);
 |  |          log.info("sendImPlayMidiMessage: roomId={}, userId={}", roomId, userId);
 | 
											
												
													
														|  |          ImNetworkMetronomeMessage displayMessage = new ImNetworkMetronomeMessage(customMessage);
 |  |          ImNetworkMetronomeMessage displayMessage = new ImNetworkMetronomeMessage(customMessage);
 | 
											
										
											
												
													
														|  | @@ -274,9 +262,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      public void pushDownloadMusicSheetMsg(ImNetworkMusicSheetDto musicSheetDto) throws Exception {
 |  |      public void pushDownloadMusicSheetMsg(ImNetworkMusicSheetDto musicSheetDto) throws Exception {
 | 
											
												
													
														|  |          Long courseScheduleId = Optional.ofNullable(musicSheetDto).map(ImNetworkBaseDto::getRoomId).orElseThrow(() -> new BizException("房间编号不能为空"));
 |  |          Long courseScheduleId = Optional.ofNullable(musicSheetDto).map(ImNetworkBaseDto::getRoomId).orElseThrow(() -> new BizException("房间编号不能为空"));
 | 
											
												
													
														|  |          Long accompanimentId = Optional.ofNullable(musicSheetDto).map(ImNetworkMusicSheetDto::getAccompanimentId).orElseThrow(() -> new BizException("伴奏编号不能为空"));
 |  |          Long accompanimentId = Optional.ofNullable(musicSheetDto).map(ImNetworkMusicSheetDto::getAccompanimentId).orElseThrow(() -> new BizException("伴奏编号不能为空"));
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          List<CourseScheduleStudentMusicSheetResult> scheduleStudentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().
 |  |          List<CourseScheduleStudentMusicSheetResult> scheduleStudentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().
 | 
											
												
													
														|  |                  queryBySheetIdAndCourseId(accompanimentId, courseScheduleId, null, null, 0);
 |  |                  queryBySheetIdAndCourseId(accompanimentId, courseScheduleId, null, null, 0);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -311,9 +297,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void display(ImNetworkDisplayDataDto displayData) throws Exception {
 |  |      public void display(ImNetworkDisplayDataDto displayData) throws Exception {
 | 
											
												
													
														|  |          log.info("display in data = {}", displayData);
 |  |          log.info("display in data = {}", displayData);
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          StringBuffer display = new StringBuffer("display://type=").append(displayData.getType().ordinal()).append("?userId=");
 |  |          StringBuffer display = new StringBuffer("display://type=").append(displayData.getType().ordinal()).append("?userId=");
 | 
											
												
													
														|  |          switch (displayData.getType()) {
 |  |          switch (displayData.getType()) {
 | 
											
										
											
												
													
														|  | @@ -374,8 +358,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void controlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
 |  |      public void controlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
 | 
											
												
													
														|  |          log.info("controlDevice in deviceControl = {}", deviceControl);
 |  |          log.info("controlDevice in deviceControl = {}", deviceControl);
 | 
											
												
													
														|  | -        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        SysUser sysUser = sysUserService.getUser();
 | 
											
												
													
														|  |          String roomId = deviceControl.getRoomId();
 |  |          String roomId = deviceControl.getRoomId();
 | 
											
												
													
														|  |          Long userId = deviceControl.getUserId();
 |  |          Long userId = deviceControl.getUserId();
 | 
											
												
													
														|  |          if(deviceControl.getEnable()){
 |  |          if(deviceControl.getEnable()){
 | 
											
										
											
												
													
														|  | @@ -469,8 +452,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void approveControlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
 |  |      public void approveControlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
 | 
											
												
													
														|  |          log.info("approveControlDevice: deviceControl={}", deviceControl);
 |  |          log.info("approveControlDevice: deviceControl={}", deviceControl);
 | 
											
												
													
														|  | -        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        SysUser sysUser = sysUserService.getUser();
 | 
											
												
													
														|  |          ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().findByRidAndUid(deviceControl.getRoomId(), sysUser.getId())).
 |  |          ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().findByRidAndUid(deviceControl.getRoomId(), sysUser.getId())).
 | 
											
												
													
														|  |                  orElseThrow(()-> new BizException("用户不在房间内"));
 |  |                  orElseThrow(()-> new BizException("用户不在房间内"));
 | 
											
												
													
														|  |          switch (deviceControl.getDeviceType()) {
 |  |          switch (deviceControl.getDeviceType()) {
 | 
											
										
											
												
													
														|  | @@ -509,9 +491,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void deviceStatusSync(ImNetworkDeviceControlDto deviceStatusSync) throws Exception {
 |  |      public void deviceStatusSync(ImNetworkDeviceControlDto deviceStatusSync) throws Exception {
 | 
											
												
													
														|  |          log.info("deviceStatusSync: deviceStatusSync={}", deviceStatusSync);
 |  |          log.info("deviceStatusSync: deviceStatusSync={}", deviceStatusSync);
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          ImNetworkDeviceTypeEnum deviceType = deviceStatusSync.getDeviceType();
 |  |          ImNetworkDeviceTypeEnum deviceType = deviceStatusSync.getDeviceType();
 | 
											
												
													
														|  |          ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().
 |  |          ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.getDao().
 | 
											
												
													
														|  |                          findByRidAndUid(deviceStatusSync.getRoomId(), userId))
 |  |                          findByRidAndUid(deviceStatusSync.getRoomId(), userId))
 | 
											
										
											
												
													
														|  | @@ -564,8 +544,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |      @Transactional(rollbackFor = Exception.class)
 |  |      @Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |      public void rejectControlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
 |  |      public void rejectControlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception {
 | 
											
												
													
														|  |          log.info("rejectControlDevice: deviceControl={}", deviceControl);
 |  |          log.info("rejectControlDevice: deviceControl={}", deviceControl);
 | 
											
												
													
														|  | -        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        SysUser sysUser = sysUserService.getUser();
 | 
											
												
													
														|  |          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(sysUser.getId().toString());
 |  |          msg.setOpUserId(sysUser.getId().toString());
 | 
											
										
											
												
													
														|  | @@ -584,9 +563,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 | 
											
												
													
														|  |          Long accompanimentId = Optional.ofNullable(musicSheetDto).map(ImNetworkMusicSheetDto::getAccompanimentId).orElseThrow(() -> new BizException("伴奏编号不能为空"));
 |  |          Long accompanimentId = Optional.ofNullable(musicSheetDto).map(ImNetworkMusicSheetDto::getAccompanimentId).orElseThrow(() -> new BizException("伴奏编号不能为空"));
 | 
											
												
													
														|  |          Integer status = Optional.ofNullable(musicSheetDto).map(ImNetworkMusicSheetDto::getStatus).orElseThrow(() -> new BizException("伴奏下载状态不能为空"));
 |  |          Integer status = Optional.ofNullable(musicSheetDto).map(ImNetworkMusicSheetDto::getStatus).orElseThrow(() -> new BizException("伴奏下载状态不能为空"));
 | 
											
												
													
														|  |          log.info("musicSheetDownNotify: musicSheetDto={}", musicSheetDto);
 |  |          log.info("musicSheetDownNotify: musicSheetDto={}", musicSheetDto);
 | 
											
												
													
														|  | -        Long userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).
 |  | 
 | 
											
												
													
														|  | -                map(SysUser::getId).
 |  | 
 | 
											
												
													
														|  | -                orElseThrow(()-> new BizException("请登录"));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        Long userId = sysUserService.getUserId();
 | 
											
												
													
														|  |          List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(accompanimentId, roomId,userId, null, null);
 |  |          List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().queryBySheetIdAndCourseId(accompanimentId, roomId,userId, null, null);
 | 
											
												
													
														|  |          if(CollectionUtils.isEmpty(studentMusicSheetResults)){
 |  |          if(CollectionUtils.isEmpty(studentMusicSheetResults)){
 | 
											
												
													
														|  |              return;
 |  |              return;
 |