|  | @@ -14,6 +14,8 @@ import com.ym.job.ScheduleManager;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.*;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.BasicUserDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.StudentAttendance;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
	
		
			
				|  | @@ -24,6 +26,7 @@ import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.StudentAttendanceService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.SysConfigService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.TeacherAttendanceService;
 | 
	
		
			
				|  |  | +import com.ym.mec.common.entity.ImPlayMidiMessage;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.exception.BizException;
 | 
	
		
			
				|  |  |  import com.ym.mec.im.IMHelper;
 | 
	
		
			
				|  |  |  import com.ym.mec.im.message.*;
 | 
	
	
		
			
				|  | @@ -185,7 +188,7 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |              }else {
 | 
	
		
			
				|  |  |                  roleEnum = RoleEnum.RoleStudent;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime);
 | 
	
		
			
				|  |  | +            saveRoomMember(userId,sysUser.getAvatar(), userName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime);
 | 
	
		
			
				|  |  |              IMApiResultInfo resultInfo = imHelper.joinGroup(new String[]{userId}, roomId, roomId);
 | 
	
		
			
				|  |  |              if (!resultInfo.isSuccess()) {
 | 
	
		
			
				|  |  |                  throw new ApiException(ErrorEnum.ERR_CREATE_ROOM_ERROR, resultInfo.getErrorMessage());
 | 
	
	
		
			
				|  | @@ -355,7 +358,7 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
 | 
	
		
			
				|  |  | +    private void saveRoomMember(String userId, String headUrl, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
 | 
	
		
			
				|  |  |          RoomMember roomMember = new RoomMember();
 | 
	
		
			
				|  |  |          roomMember.setUid(userId);
 | 
	
		
			
				|  |  |          roomMember.setName(userName);
 | 
	
	
		
			
				|  | @@ -364,6 +367,7 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |          roomMember.setCamera(cameraOn);
 | 
	
		
			
				|  |  |          roomMember.setJoinDt(joinTime);
 | 
	
		
			
				|  |  |          roomMember.setMusicMode(musicModeOn);
 | 
	
		
			
				|  |  | +        roomMember.setHeadUrl(headUrl);
 | 
	
		
			
				|  |  |          roomMemberDao.save(roomMember);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -785,9 +789,6 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |              msg.setType(taskInfo.getTypeEnum().ordinal());
 | 
	
		
			
				|  |  |              msg.setOpUserId(authUser.getId().toString());
 | 
	
		
			
				|  |  |              msg.setOpUserName(authUser.getUsername());
 | 
	
		
			
				|  |  | -            if (typeEnum.equals(DeviceTypeEnum.HandUp)){
 | 
	
		
			
				|  |  | -                userId = authUser.getId().toString();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  |              imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              if (typeEnum.equals(DeviceTypeEnum.Camera)) {
 | 
	
	
		
			
				|  | @@ -901,6 +902,9 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |          } else if (type.equals(DeviceTypeEnum.Microphone)){
 | 
	
		
			
				|  |  |              result = roomMemberDao.updateMicByRidAndUid(roomId, userId, enable);
 | 
	
		
			
				|  |  |              deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
 | 
	
		
			
				|  |  | +        } else if (type.equals(DeviceTypeEnum.HandUp)){
 | 
	
		
			
				|  |  | +            result = roomMemberDao.updateHandByRidAndUid(roomId, userId, enable);
 | 
	
		
			
				|  |  | +            deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
 | 
	
		
			
				|  |  |          }else {
 | 
	
		
			
				|  |  |              result = roomMemberDao.updateMusicByRidAndUid(roomId, userId, enable);
 | 
	
		
			
				|  |  |              deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
 | 
	
	
		
			
				|  | @@ -1410,17 +1414,20 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |              throw new BizException("用户信息获取失败");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  //        roomService.sendImPlayMidiMessage(playMidiMessageData);
 | 
	
		
			
				|  |  | -        GroupMessage groupMessage = new GroupMessage();
 | 
	
		
			
				|  |  | +//        GroupMessage groupMessage = new GroupMessage();
 | 
	
		
			
				|  |  |          String content = playMidiMessageData.getContent();
 | 
	
		
			
				|  |  |          String roomId = playMidiMessageData.getRoomId();
 | 
	
		
			
				|  |  |          CustomMessage customMessage = JSONObject.parseObject(content,CustomMessage.class);
 | 
	
		
			
				|  |  | -        groupMessage.setContent(customMessage);
 | 
	
		
			
				|  |  | -        groupMessage.setTargetId(roomId.split(","));
 | 
	
		
			
				|  |  | -        groupMessage.setSenderId(sysUser.getId().toString());
 | 
	
		
			
				|  |  | -        groupMessage.setObjectName("DY:PlayMidiMessage");
 | 
	
		
			
				|  |  | -        messageService.groupSend(groupMessage);
 | 
	
		
			
				|  |  | +//        groupMessage.setContent(customMessage);
 | 
	
		
			
				|  |  | +//        groupMessage.setTargetId(roomId.split(","));
 | 
	
		
			
				|  |  | +//        groupMessage.setSenderId(sysUser.getId().toString());
 | 
	
		
			
				|  |  | +//        groupMessage.setObjectName("DY:PlayMidiMessage");
 | 
	
		
			
				|  |  | +        String userId = sysUser.getId().toString();
 | 
	
		
			
				|  |  | +        MetronomeMessageMessage displayMessage = new MetronomeMessageMessage(customMessage);
 | 
	
		
			
				|  |  | +        imHelper.publishMessage(userId, roomId, displayMessage, 1);
 | 
	
		
			
				|  |  | +//        messageService.groupSend(groupMessage);
 | 
	
		
			
				|  |  |          //记录节拍器消息
 | 
	
		
			
				|  |  | -        String userId = playMidiMessageData.getUserId();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  //        long courseId = Long.parseLong(roomId.substring(1));
 | 
	
		
			
				|  |  |          courseScheduleStudentPaymentDao.adjustPlayMidi(Long.parseLong(roomId.substring(1)),userId,content);
 | 
	
		
			
				|  |  |          /*if(StringUtils.isEmpty(userId)){
 | 
	
	
		
			
				|  | @@ -1436,6 +1443,11 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |          }*/
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<RongyunBasicUserDto> queryNoJoinStu(String roomId) {
 | 
	
		
			
				|  |  | +        return courseScheduleStudentPaymentDao.queryNoJoinStu(roomId,roomId.substring(1));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /*@Override
 | 
	
		
			
				|  |  |      public void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) {
 | 
	
		
			
				|  |  |          SysUser sysUser = sysUserFeignService.queryUserInfo();
 |