| 
					
				 | 
			
			
				@@ -1,5 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.ym.service.Impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.common.ApiException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.common.DisplayEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.common.ErrorEnum; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25,19 +26,20 @@ import com.ym.mec.biz.dal.enums.SignStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.SysMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.service.TeacherAttendanceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.common.exception.BizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.im.IMHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.im.message.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.pojo.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.service.MessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.service.RoomService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.utils.CheckUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.utils.CodeUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.utils.DateTimeUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.utils.IdentifierUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.whiteboard.WhiteBoardHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import io.rong.models.message.GroupMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,7 +83,7 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private UserDao userDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private SysMessageService sysMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private MessageService messageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private TeacherDao teacherDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1378,6 +1380,30 @@ public class RoomServiceImpl implements RoomService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SysUser sysUser = sysUserFeignService.queryUserInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(sysUser == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new BizException("用户信息获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        roomService.sendImPlayMidiMessage(playMidiMessageData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GroupMessage groupMessage = new GroupMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CustomMessage customMessage = JSONObject.parseObject(playMidiMessageData.getContent(),CustomMessage.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        groupMessage.setContent(customMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        groupMessage.setTargetId(playMidiMessageData.getRoomId().split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        groupMessage.setSenderId(sysUser.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        groupMessage.setObjectName("DY:PlayMidiMessage"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        messageService.groupSend(groupMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //记录节拍器消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String userId = playMidiMessageData.getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isEmpty(userId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            roomMemberDao.updatePlayMidiJsonByRidAndRole(playMidiMessageData.getRoomId(),RoleEnum.RoleStudent.getValue(),playMidiMessageData.getContent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            roomMemberDao.updatePlayMidiJsonByRidAndUid(playMidiMessageData.getRoomId(),userId,playMidiMessageData.getContent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /*@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SysUser sysUser = sysUserFeignService.queryUserInfo(); 
			 |