|
@@ -133,7 +133,7 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void classGroupAddStudent(Integer classGroupId, Integer studentId) {
|
|
|
+ public void classGroupAddStudent(Integer classGroupId, List<Integer> studentIds) {
|
|
|
Set<Integer> teacherIds = new HashSet<>();
|
|
|
Set<Integer> educations = new HashSet<>();
|
|
|
ClassGroup classGroup = classGroupDao.get(classGroupId);
|
|
@@ -143,10 +143,10 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
teacherIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
//学员关联的课程上的主教老师
|
|
|
teacherIds.add(courseScheduleTeacherSalaryDao.queryTeacherByBishop(classGroupId));
|
|
|
- teacherIds.add(studentId);
|
|
|
+ teacherIds.addAll(studentIds);
|
|
|
|
|
|
MusicGroup musicGroup = new MusicGroup();
|
|
|
- String subjectName = "";
|
|
|
+ Map<Integer,String> studentSubjectName = new HashMap<>();
|
|
|
|
|
|
GroupType groupType = classGroup.getGroupType();
|
|
|
if(groupType == MUSIC){
|
|
@@ -159,7 +159,7 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
educations.add(musicGroup.getEducationalTeacherId());
|
|
|
educations.add(musicGroup.getTeamTeacherId());
|
|
|
//获取当前学员声部
|
|
|
- subjectName = studentRegistrationDao.getStudentSubjectName(musicGroup.getId(),studentId);
|
|
|
+ studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
}else if(groupType == VIP){
|
|
|
VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
teacherIds.add(vipGroup.getEducationalTeacherId());
|
|
@@ -168,50 +168,54 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
educations.removeAll(Collections.singleton(null));
|
|
|
teacherIds.removeAll(Collections.singleton(null));
|
|
|
//获取通讯录昵称
|
|
|
- Map<Integer, String>nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
+ Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
//获取老师声部
|
|
|
Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
for (Integer teacherId : teacherIds) {
|
|
|
- if(teacherId == studentId){
|
|
|
- continue;
|
|
|
+ for (Integer studentId : studentIds) {
|
|
|
+ if(teacherId == studentId){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //学员、教务关联的老师
|
|
|
+ ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
+ imUserFriend.setUserId(studentId);
|
|
|
+ imUserFriend.setFriendId(teacherId);
|
|
|
+ imUserFriend.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
+ imUserFriend.setMemo(musicGroup.getName());
|
|
|
+ imUserFriend.setTags(teacherSubjectNameMap.get(teacherId));
|
|
|
+ imUserFriends.add(imUserFriend);
|
|
|
+ //老师关联的学生、教务
|
|
|
+ ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
+ imUserFriend1.setUserId(teacherId);
|
|
|
+ imUserFriend1.setFriendId(studentId);
|
|
|
+ imUserFriend1.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+ imUserFriend1.setMemo(musicGroup.getName());
|
|
|
+ imUserFriend1.setTags(studentSubjectName.get(studentId));
|
|
|
+ imUserFriends.add(imUserFriend1);
|
|
|
}
|
|
|
- //学员、教务关联的老师
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(studentId);
|
|
|
- imUserFriend.setFriendId(teacherId);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(teacherId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- //老师关联的学生、教务
|
|
|
- ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
- imUserFriend1.setUserId(teacherId);
|
|
|
- imUserFriend1.setFriendId(studentId);
|
|
|
- imUserFriend1.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend1.setMemo(musicGroup.getName());
|
|
|
- imUserFriend1.setTags(subjectName);
|
|
|
- imUserFriends.add(imUserFriend1);
|
|
|
}
|
|
|
for (Integer education : educations) {
|
|
|
- if(education == studentId){
|
|
|
- continue;
|
|
|
+ for (Integer studentId : studentIds) {
|
|
|
+ if(education == studentId){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //学员关联教务
|
|
|
+ ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
+ imUserFriend.setUserId(studentId);
|
|
|
+ imUserFriend.setFriendId(education);
|
|
|
+ imUserFriend.setFriendNickname(nameIdMap.get(education));
|
|
|
+ imUserFriend.setMemo(musicGroup.getName());
|
|
|
+ imUserFriend.setTags(teacherSubjectNameMap.get(education));
|
|
|
+ imUserFriends.add(imUserFriend);
|
|
|
+ //教务关联学员
|
|
|
+ ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
+ imUserFriend1.setUserId(education);
|
|
|
+ imUserFriend1.setFriendId(studentId);
|
|
|
+ imUserFriend1.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+ imUserFriend1.setMemo(musicGroup.getName());
|
|
|
+ imUserFriend1.setTags(studentSubjectName.get(studentId));
|
|
|
+ imUserFriends.add(imUserFriend1);
|
|
|
}
|
|
|
- //学员关联教务
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(studentId);
|
|
|
- imUserFriend.setFriendId(education);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(education));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(education));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- //教务关联学员
|
|
|
- ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
- imUserFriend1.setUserId(education);
|
|
|
- imUserFriend1.setFriendId(studentId);
|
|
|
- imUserFriend1.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend1.setMemo(musicGroup.getName());
|
|
|
- imUserFriend1.setTags(subjectName);
|
|
|
- imUserFriends.add(imUserFriend1);
|
|
|
}
|
|
|
if(imUserFriends.size() > 0){
|
|
|
batchInsert(imUserFriends);
|