| 
					
				 | 
			
			
				@@ -33,6 +33,9 @@ import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.text.MessageFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.concurrent.CompletableFuture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.concurrent.ExecutorService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.concurrent.Executors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.TimeUnit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,30 +229,34 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new BizException("加入群组失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 乐团领队添加到所有乐团群 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<MusicGroup> musicGroups = cooperationOrganService.musicGroupPage(schoolStaff.getSchoolId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         CompletableFuture.runAsync( () -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 创建学校im好友 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        imUserFriendService.refreshSchoolStaffFriend(schoolStaff.getSchoolId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 创建乐团im好友 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (MusicGroup musicGroup : musicGroups) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(),null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             // 创建学校im好友 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             imUserFriendService.refreshSchoolStaffFriend(schoolStaff.getSchoolId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             if (schoolStaff.getUserType().equals(ESchoolStaffType.ORCHESTRA_LEADER)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // id 集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<String> musicGroupIds = musicGroups.stream().map(o -> o.getId()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 // 乐团领队添加到所有乐团群 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 List<MusicGroup> musicGroups = cooperationOrganService.musicGroupPage(schoolStaff.getSchoolId().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 // 创建班级im好友 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 for (MusicGroup musicGroup : musicGroups) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(),null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 班级群 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<ClassGroup> classGroups = classGroupService.getClassGroupByMusicIds(musicGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 // id 集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 List<String> musicGroupIds = musicGroups.stream().map(MusicGroup::getId).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // ID集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<String> classGroupIds = classGroups.stream().map(o -> o.getId().toString()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<String> imGroupIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        imGroupIds.addAll(classGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        imGroupIds.addAll(musicGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 // 班级群 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 List<ClassGroup> classGroups = classGroupService.getClassGroupByMusicIds(musicGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        imGroupService.addImGroup(imGroupIds,user,schoolStaff.getUserType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 // ID集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 List<String> classGroupIds = classGroups.stream().map(o -> o.getId().toString()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 List<String> imGroupIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 imGroupIds.addAll(classGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //        imGroupIds.addAll(musicGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 imGroupService.addImGroup(imGroupIds,user,schoolStaff.getUserType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 删除缓存锁 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         redissonClient.getBucket(submitLockKey).delete(); 
			 |