|
@@ -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();
|