| 
					
				 | 
			
			
				@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.serializer.SerializerFeature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.google.common.collect.Lists; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.microsvc.toolkit.middleware.rtc.RTCRoomPluginService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.microsvc.toolkit.middleware.rtc.message.TencentRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dao.SysConfigDao; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -464,19 +466,12 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     .set(CourseSchedule::getMuteAll,!deviceControl.getEnable()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     .set(CourseSchedule::getCancelMuteFlag,deviceControl.getCancelMuteFlag()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             .update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                /*CourseSchedule courseSchedule = courseScheduleService.getById(deviceControl.getRoomId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 修改网管课群自定义属性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                RTCRoomPluginService pluginService = rtcRoomPluginContext.getPluginService(courseSchedule.getServiceProvider()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (Objects.nonNull(pluginService) && Objects.nonNull(newCourseSchedule)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // 更新群自定义字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    updateChatRoomGroupData(data.getRoomId(), newCourseSchedule, pluginService); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CourseSchedule courseSchedule = courseScheduleService.getById(deviceControl.getRoomId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 修改网管课群自定义属性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    RTCRoomPluginService pluginService = imGroupService.getRTCRoomPluginService(courseSchedule.getServiceProvider()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateChatRoomGroupData(deviceControl.getRoomId(), courseSchedule, pluginService); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 取消网络课群静音 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (Objects.isNull(data.getMicrophoneOn())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!CollectionUtils.isEmpty(roomMembers)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     for (ImNetworkRoomMember roomMember : roomMembers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         deviceControl.setUserId(roomMember.getUserId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -487,6 +482,32 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void updateChatRoomGroupData(String roomId, CourseSchedule courseSchedule, RTCRoomPluginService pluginService) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 生成群组自定义字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TencentRequest.ChatRoomGroupDefinedData> definedDataList = Lists.newArrayList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 全员静音 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        definedDataList.add(TencentRequest.ChatRoomGroupDefinedData.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .key("isMuteAll").value(courseSchedule.getMuteAll().toString()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .build()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 取消静音 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        definedDataList.add(TencentRequest.ChatRoomGroupDefinedData.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .key("cancelMuteFlag").value(courseSchedule.getCancelMuteFlag().toString()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .build()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(definedDataList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                pluginService.chatRoomGroupDefinedData(TencentRequest.ChatRoomGroup.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .groupId(roomId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .appDefinedData(definedDataList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .build()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("直播网管课自定义字段设置失败: roomId={}", roomId, e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void controlDevice(ImNetworkDeviceControlDto deviceControl) throws Exception { 
			 |