|
@@ -4,6 +4,7 @@ import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.concurrent.Executors;
|
|
|
+import java.util.function.Consumer;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
@@ -173,8 +174,8 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void refreshGroupImUserFriend(String musicGroupId,GroupType groupType) {
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
+// ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
+// CompletableFuture.runAsync(()->{
|
|
|
List<ClassGroup> classGroups = classGroupDao.queryClassGroups(musicGroupId, groupType.getCode());
|
|
|
List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
classGroups.forEach(e->{
|
|
@@ -189,8 +190,8 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
}
|
|
|
//更新用户朋友昵称是空的历史数据(线上没有发现这种问题)
|
|
|
imUserFriendDao.updateNullNickName();
|
|
|
- },executor);
|
|
|
- executor.shutdown();
|
|
|
+// },executor);
|
|
|
+// executor.shutdown();
|
|
|
}
|
|
|
|
|
|
public List<ImUserFriend> saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){
|
|
@@ -243,86 +244,23 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
//老师关联教务、学员
|
|
|
for (Integer teacherId : teacherIds) {
|
|
|
//老师关联学员
|
|
|
- for (Integer studentId : studentIds) {
|
|
|
- if(teacherId == studentId){
|
|
|
- continue;
|
|
|
- }
|
|
|
- //学员、教务关联的老师
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(teacherId);
|
|
|
- imUserFriend.setFriendId(studentId);
|
|
|
- imUserFriend.setFriendNickname(usernameMap.get(studentId));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- }
|
|
|
+ this.addImUserFriend(studentIds,studentSubjectName,usernameMap,musicGroup.getName(),teacherId,imUserFriends);
|
|
|
//老师关联教务
|
|
|
- for (Integer educationId : educationIds) {
|
|
|
- if(teacherId == educationId){
|
|
|
- continue;
|
|
|
- }
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(teacherId);
|
|
|
- imUserFriend.setFriendId(educationId);
|
|
|
- imUserFriend.setFriendNickname(educationRealNameMap.get(educationId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- }
|
|
|
+ this.addImUserFriend(educationIds,null,educationRealNameMap,null,teacherId,imUserFriends);
|
|
|
}
|
|
|
//教务关联的老师、学员
|
|
|
for (Integer educationId : educationIds) {
|
|
|
//教务关联学员
|
|
|
- for (Integer studentId : studentIds) {
|
|
|
- if(educationId == studentId){
|
|
|
- continue;
|
|
|
- }
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(educationId);
|
|
|
- imUserFriend.setFriendId(studentId);
|
|
|
- imUserFriend.setFriendNickname(usernameMap.get(studentId));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- }
|
|
|
+ this.addImUserFriend(studentIds,studentSubjectName,usernameMap,musicGroup.getName(),educationId,imUserFriends);
|
|
|
//教务关联老师
|
|
|
- for (Integer teacher : teacherIds) {
|
|
|
- if(educationId == teacher){
|
|
|
- continue;
|
|
|
- }
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(educationId);
|
|
|
- imUserFriend.setFriendId(teacher);
|
|
|
- imUserFriend.setFriendNickname(teacherRealNameMap.get(teacher));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(teacher));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- }
|
|
|
+ this.addImUserFriend(teacherIds,teacherSubjectNameMap,teacherRealNameMap,musicGroup.getName(),educationId,imUserFriends);
|
|
|
}
|
|
|
//学员关联的老师、教务、维修技师
|
|
|
for (Integer studentId : studentIds) {
|
|
|
//学员关联的老师
|
|
|
- for (Integer teacher : teacherIds) {
|
|
|
- if(teacher == studentId){
|
|
|
- continue;
|
|
|
- }
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(studentId);
|
|
|
- imUserFriend.setFriendId(teacher);
|
|
|
- imUserFriend.setFriendNickname(teacherRealNameMap.get(teacher));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(teacher));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- }
|
|
|
+ this.addImUserFriend(teacherIds,teacherSubjectNameMap,teacherRealNameMap,musicGroup.getName(),studentId,imUserFriends);
|
|
|
//学员关联的教务
|
|
|
- for (Integer education : educationIds) {
|
|
|
- if(education == studentId){
|
|
|
- continue;
|
|
|
- }
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(studentId);
|
|
|
- imUserFriend.setFriendId(education);
|
|
|
- imUserFriend.setFriendNickname(educationRealNameMap.get(education));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- }
|
|
|
+ this.addImUserFriend(educationIds,null,educationRealNameMap,null,studentId,imUserFriends);
|
|
|
//学员关联维修技师
|
|
|
if(repairUserId != null){
|
|
|
if(repairUserId == studentId){
|
|
@@ -339,19 +277,28 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
}
|
|
|
//维修技师关联学员
|
|
|
if(repairUserId != null){
|
|
|
- for (Integer studentId : studentIds) {
|
|
|
- if(repairUserId == studentId){
|
|
|
+ this.addImUserFriend(studentIds,studentSubjectName,usernameMap,musicGroup.getName(),repairUserId,imUserFriends);
|
|
|
+ }
|
|
|
+ return imUserFriends;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void addImUserFriend(Set<Integer> friendUserIds,Map<Integer,String> tagsMap,
|
|
|
+ Map<Integer,String> nameMap,String memo,Integer userId,List<ImUserFriend> imUserFriends){
|
|
|
+ if(friendUserIds != null && friendUserIds.size() > 0){
|
|
|
+ for (Integer friendId : friendUserIds) {
|
|
|
+ if(userId == friendId){
|
|
|
continue;
|
|
|
}
|
|
|
ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(repairUserId);
|
|
|
- imUserFriend.setFriendId(studentId);
|
|
|
- imUserFriend.setFriendNickname(usernameMap.get(studentId));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
+ imUserFriend.setUserId(userId);
|
|
|
+ imUserFriend.setFriendId(friendId);
|
|
|
+ imUserFriend.setFriendNickname(nameMap.get(friendId));
|
|
|
+ imUserFriend.setMemo(memo);
|
|
|
+ if(tagsMap != null){
|
|
|
+ imUserFriend.setTags(tagsMap.get(friendId));
|
|
|
+ }
|
|
|
imUserFriends.add(imUserFriend);
|
|
|
}
|
|
|
}
|
|
|
- return imUserFriends;
|
|
|
}
|
|
|
}
|