|
@@ -134,320 +134,402 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void classGroupAddStudent(Integer classGroupId, List<Integer> studentIds) {
|
|
|
- Set<Integer> teacherIds = new HashSet<>();
|
|
|
- Set<Integer> educations = new HashSet<>();
|
|
|
+ public void refreshCourseImUserFriend(Long courseId) {
|
|
|
+ CourseSchedule courseSchedule = courseScheduleDao.get(courseId);
|
|
|
+ //获取班级关联的老师列表
|
|
|
+ Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(courseSchedule.getClassGroupId(),null,null);
|
|
|
+ //获取班级关联的学员列表
|
|
|
+ Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(courseSchedule.getClassGroupId(),null,null);
|
|
|
+ ClassGroup classGroup = classGroupDao.get(courseSchedule.getClassGroupId());
|
|
|
+ GroupType groupType = classGroup.getGroupType();
|
|
|
+ saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void refreshClassImUserFriend(Integer classGroupId) {
|
|
|
+ //获取班级关联的老师列表
|
|
|
+ Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(classGroupId,null,null);
|
|
|
+ //获取班级关联的学员列表
|
|
|
+ Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(classGroupId,null,null);
|
|
|
ClassGroup classGroup = classGroupDao.get(classGroupId);
|
|
|
- List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
- //获取班级关联的老师
|
|
|
- List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
|
|
|
- teacherIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
- //学员关联的课程上的老师
|
|
|
- teacherIds.addAll(courseScheduleTeacherSalaryDao.queryTeacherByTeaching(classGroupId,null));
|
|
|
- teacherIds.addAll(studentIds);
|
|
|
+ GroupType groupType = classGroup.getGroupType();
|
|
|
+ saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void refreshGroupImUserFriend(String musicGroupId,GroupType groupType) {
|
|
|
+ //获取班级关联的老师列表
|
|
|
+ Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(null,musicGroupId,groupType);
|
|
|
+ //获取班级关联的学员列表
|
|
|
+ Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(null,musicGroupId,groupType);
|
|
|
+ saveImUserFriends(studentIds,teacherIds,groupType,musicGroupId);
|
|
|
+ }
|
|
|
|
|
|
+ private void saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){
|
|
|
+ List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
+ Set<Integer> educationIds = new HashSet<>();
|
|
|
MusicGroup musicGroup = new MusicGroup();
|
|
|
+ //获取当前学员声部
|
|
|
Map<Integer,String> studentSubjectName = new HashMap<>();
|
|
|
-
|
|
|
- GroupType groupType = classGroup.getGroupType();
|
|
|
+ Map<Integer, String> teacherSubjectNameMap = new HashMap<>();
|
|
|
+ if(teacherIds.size() > 0){
|
|
|
+ teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
+ }
|
|
|
if(groupType == MUSIC){
|
|
|
//学员关联乐团管理人员通讯录
|
|
|
- musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
- teacherIds.add(musicGroup.getDirectorUserId());
|
|
|
- teacherIds.add(musicGroup.getEducationalTeacherId());
|
|
|
- teacherIds.add(musicGroup.getTeamTeacherId());
|
|
|
- educations.add(musicGroup.getDirectorUserId());
|
|
|
- educations.add(musicGroup.getEducationalTeacherId());
|
|
|
- educations.add(musicGroup.getTeamTeacherId());
|
|
|
- //获取当前学员声部
|
|
|
- studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
+ musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
+ educationIds.add(musicGroup.getDirectorUserId());
|
|
|
+ educationIds.add(musicGroup.getEducationalTeacherId());
|
|
|
+ educationIds.add(musicGroup.getTeamTeacherId());
|
|
|
+ if(studentIds.size() > 0){
|
|
|
+ studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
+ }
|
|
|
}else if(groupType == VIP){
|
|
|
- VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
- teacherIds.add(vipGroup.getEducationalTeacherId());
|
|
|
- educations.add(vipGroup.getEducationalTeacherId());
|
|
|
+ VipGroup vipGroup = vipGroupDao.get(Long.parseLong(musicGroupId));
|
|
|
+ educationIds.add(vipGroup.getEducationalTeacherId());
|
|
|
}else if(groupType == PRACTICE){
|
|
|
- PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
- teacherIds.add(practiceGroup.getEducationalTeacherId());
|
|
|
- educations.add(practiceGroup.getEducationalTeacherId());
|
|
|
+ PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(musicGroupId));
|
|
|
+ educationIds.add(practiceGroup.getEducationalTeacherId());
|
|
|
}
|
|
|
- educations.removeAll(Collections.singleton(null));
|
|
|
+ studentIds.removeAll(Collections.singleton(null));
|
|
|
teacherIds.removeAll(Collections.singleton(null));
|
|
|
- //获取通讯录昵称
|
|
|
- Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
- //获取老师声部
|
|
|
- Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
+ educationIds.removeAll(Collections.singleton(null));
|
|
|
+ Map<Integer, String> usernameMap = new HashMap<>();
|
|
|
+ if(studentIds.size() > 0){
|
|
|
+ usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+ }
|
|
|
+ Map<Integer, String> teacherRealNameMap = new HashMap<>();
|
|
|
+ if(teacherIds.size() > 0){
|
|
|
+ usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(teacherIds)));
|
|
|
+ }
|
|
|
+ Map<Integer, String> educationRealNameMap = new HashMap<>();
|
|
|
+ if(educationIds.size() > 0){
|
|
|
+ usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(educationIds)));
|
|
|
+ }
|
|
|
+ //老师关联教务、学员
|
|
|
for (Integer teacherId : teacherIds) {
|
|
|
+ //老师关联学员
|
|
|
for (Integer studentId : studentIds) {
|
|
|
if(teacherId == studentId){
|
|
|
continue;
|
|
|
}
|
|
|
//学员、教务关联的老师
|
|
|
ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(studentId);
|
|
|
- imUserFriend.setFriendId(teacherId);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
+ imUserFriend.setUserId(teacherId);
|
|
|
+ imUserFriend.setFriendId(studentId);
|
|
|
+ imUserFriend.setFriendNickname(usernameMap.get(studentId));
|
|
|
imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(teacherId));
|
|
|
+ imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
+ imUserFriends.add(imUserFriend);
|
|
|
+ }
|
|
|
+ //老师关联教务
|
|
|
+ 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);
|
|
|
- //老师关联的学生、教务
|
|
|
- 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);
|
|
|
}
|
|
|
}
|
|
|
- for (Integer education : educations) {
|
|
|
+ //教务关联的老师、学员
|
|
|
+ for (Integer educationId : educationIds) {
|
|
|
+ //教务关联学员
|
|
|
for (Integer studentId : studentIds) {
|
|
|
- if(education == studentId){
|
|
|
+ if(educationId == studentId){
|
|
|
continue;
|
|
|
}
|
|
|
- //学员关联教务
|
|
|
ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(studentId);
|
|
|
- imUserFriend.setFriendId(education);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(education));
|
|
|
+ imUserFriend.setUserId(educationId);
|
|
|
+ imUserFriend.setFriendId(studentId);
|
|
|
+ imUserFriend.setFriendNickname(usernameMap.get(studentId));
|
|
|
imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(education));
|
|
|
+ imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
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);
|
|
|
- }
|
|
|
- }
|
|
|
- if(imUserFriends.size() > 0){
|
|
|
- batchInsert(imUserFriends);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void classGroupChangeTeacher(Integer classGroupId, Integer teacherId) {
|
|
|
- Set<Integer> studentIds = new HashSet<>();
|
|
|
- Set<Integer> educations = new HashSet<>();
|
|
|
-
|
|
|
- ClassGroup classGroup = classGroupDao.get(classGroupId);
|
|
|
- List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
- //获取班级关联的学员
|
|
|
- List<ClassGroupStudentMapper> studentMappers = classGroupStudentMapperDao.findAllByClassGroup(classGroupId.longValue());
|
|
|
- studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
-
|
|
|
- MusicGroup musicGroup = new MusicGroup();
|
|
|
- Map<Integer,String> studentSubjectName = new HashMap<>();
|
|
|
- studentIds.add(teacherId);
|
|
|
- //获取老师声部
|
|
|
- Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds)));
|
|
|
-
|
|
|
- GroupType groupType = classGroup.getGroupType();
|
|
|
- if(groupType == MUSIC){
|
|
|
- //获取当前学员声部
|
|
|
- studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
- //关联乐团管理人员通讯录
|
|
|
- musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
- studentIds.add(musicGroup.getDirectorUserId());
|
|
|
- studentIds.add(musicGroup.getEducationalTeacherId());
|
|
|
- studentIds.add(musicGroup.getTeamTeacherId());
|
|
|
- educations.add(musicGroup.getDirectorUserId());
|
|
|
- educations.add(musicGroup.getEducationalTeacherId());
|
|
|
- educations.add(musicGroup.getTeamTeacherId());
|
|
|
- }else if(groupType == VIP){
|
|
|
- VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
- studentIds.add(vipGroup.getEducationalTeacherId());
|
|
|
- educations.add(vipGroup.getEducationalTeacherId());
|
|
|
- }else if(groupType == PRACTICE){
|
|
|
- PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
- studentIds.add(practiceGroup.getEducationalTeacherId());
|
|
|
- educations.add(practiceGroup.getEducationalTeacherId());
|
|
|
- }
|
|
|
- educations.removeAll(Collections.singleton(null));
|
|
|
- studentIds.removeAll(Collections.singleton(null));
|
|
|
- //获取通讯录昵称
|
|
|
- Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds)));
|
|
|
- for (Integer studentId : studentIds) {
|
|
|
- if(teacherId == studentId){
|
|
|
- continue;
|
|
|
}
|
|
|
- //老师关联的学员、教务
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(teacherId);
|
|
|
- imUserFriend.setFriendId(studentId);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- //学员、教务关联的老师
|
|
|
- ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
- imUserFriend1.setUserId(studentId);
|
|
|
- imUserFriend1.setFriendId(teacherId);
|
|
|
- imUserFriend1.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
- imUserFriend1.setMemo(musicGroup.getName());
|
|
|
- imUserFriend1.setTags(studentSubjectName.get(teacherId));
|
|
|
- imUserFriends.add(imUserFriend1);
|
|
|
-
|
|
|
- for (Integer education : educations) {
|
|
|
- if(studentId == education){
|
|
|
+ //教务关联老师
|
|
|
+ for (Integer teacher : teacherIds) {
|
|
|
+ if(educationId == teacher){
|
|
|
continue;
|
|
|
}
|
|
|
- //教务关联的学员
|
|
|
- ImUserFriend imUserFriend2 = new ImUserFriend();
|
|
|
- imUserFriend2.setUserId(education);
|
|
|
- imUserFriend2.setFriendId(studentId);
|
|
|
- imUserFriend2.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend2.setMemo(musicGroup.getName());
|
|
|
- imUserFriend2.setTags(studentSubjectName.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend2);
|
|
|
- //学员关联的教务
|
|
|
- ImUserFriend imUserFriend3 = new ImUserFriend();
|
|
|
- imUserFriend3.setUserId(studentId);
|
|
|
- imUserFriend3.setFriendId(education);
|
|
|
- imUserFriend3.setFriendNickname(nameIdMap.get(education));
|
|
|
- imUserFriend3.setMemo(musicGroup.getName());
|
|
|
- imUserFriend3.setTags(teacherSubjectNameMap.get(education));
|
|
|
- imUserFriends.add(imUserFriend3);
|
|
|
+ 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);
|
|
|
}
|
|
|
}
|
|
|
- if(imUserFriends.size() > 0){
|
|
|
- batchInsert(imUserFriends);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void groupChangeEducation(String groupId, Integer educationId, GroupType groupType) {
|
|
|
- Set<Integer> studentIds = new HashSet<>();
|
|
|
- List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
- //获取班级关联的学员
|
|
|
- List<ClassGroupStudentInfoDto> studentMappers = classGroupStudentMapperDao.findByGroupOrClassGroup(groupId, groupType, null);
|
|
|
- studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
- //获取班级关联的老师
|
|
|
- List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperDao.findAllByMusicGroup(groupId,groupType,null);
|
|
|
- studentIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
- //获取课程关联的老师
|
|
|
- List<CourseScheduleTeacherSalary> teacherSalaries = courseScheduleTeacherSalaryDao.findByGroup(groupId, groupType.getCode());
|
|
|
- studentIds.addAll(teacherSalaries.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
- studentIds.add(educationId);
|
|
|
-
|
|
|
- //获取通讯录昵称
|
|
|
- Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds)));
|
|
|
- //获取老师声部
|
|
|
- Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+ //学员关联的老师、教务
|
|
|
for (Integer studentId : studentIds) {
|
|
|
- if(educationId == studentId){
|
|
|
- continue;
|
|
|
- }
|
|
|
- //教务关联的老师、学员
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(educationId);
|
|
|
- imUserFriend.setFriendId(studentId);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend.setTags(teacherSubjectNameMap.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- //学员老师关联教务
|
|
|
- ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
- imUserFriend1.setUserId(studentId);
|
|
|
- imUserFriend1.setFriendId(educationId);
|
|
|
- imUserFriend1.setFriendNickname(nameIdMap.get(educationId));
|
|
|
- imUserFriends.add(imUserFriend1);
|
|
|
- }
|
|
|
- if(imUserFriends.size() > 0){
|
|
|
- batchInsert(imUserFriends);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void courseScheduleChangeTeacher(Long courseScheduleId, Integer teacherId) {
|
|
|
- Set<Integer> studentIds = new HashSet<>();
|
|
|
- Set<Integer> educations = new HashSet<>();
|
|
|
- List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
- CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
|
|
|
- //获取课程上关联的学员
|
|
|
- List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
|
|
|
- studentIds.addAll(studentPayments.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
- studentIds.add(teacherId);
|
|
|
- //学员声部列表
|
|
|
- Map<Integer,String> studentSubjectName = new HashMap<>();
|
|
|
- MusicGroup musicGroup = new MusicGroup();
|
|
|
- GroupType groupType = courseSchedule.getGroupType();
|
|
|
- if(groupType == MUSIC){
|
|
|
- musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
- //获取学员声部列表
|
|
|
- studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
- //关联乐团管理人员通讯录
|
|
|
- musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
- studentIds.add(musicGroup.getDirectorUserId());
|
|
|
- studentIds.add(musicGroup.getEducationalTeacherId());
|
|
|
- studentIds.add(musicGroup.getTeamTeacherId());
|
|
|
- educations.add(musicGroup.getDirectorUserId());
|
|
|
- educations.add(musicGroup.getEducationalTeacherId());
|
|
|
- educations.add(musicGroup.getTeamTeacherId());
|
|
|
- }else if(groupType == VIP){
|
|
|
- VipGroup vipGroup = vipGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
|
|
|
- educations.add(vipGroup.getEducationalTeacherId());
|
|
|
- studentIds.add(vipGroup.getEducationalTeacherId());
|
|
|
- }else if(groupType == PRACTICE){
|
|
|
- PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
|
|
|
- studentIds.add(practiceGroup.getEducationalTeacherId());
|
|
|
- educations.add(practiceGroup.getEducationalTeacherId());
|
|
|
- }
|
|
|
- educations.removeAll(Collections.singleton(null));
|
|
|
- studentIds.removeAll(Collections.singleton(null));
|
|
|
- //获取通讯录昵称
|
|
|
- Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds)));
|
|
|
- //获取老师声部
|
|
|
- Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds)));
|
|
|
- for (Integer studentId : studentIds) {
|
|
|
- if(teacherId == studentId){
|
|
|
- continue;
|
|
|
+ //学员关联的老师
|
|
|
+ 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);
|
|
|
}
|
|
|
- //老师关联的学员和教务
|
|
|
- ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
- imUserFriend.setUserId(teacherId);
|
|
|
- imUserFriend.setFriendId(studentId);
|
|
|
- imUserFriend.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend.setMemo(musicGroup.getName());
|
|
|
- imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend);
|
|
|
- //学员关联的老师、教务关联老师
|
|
|
- ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
- imUserFriend1.setUserId(studentId);
|
|
|
- imUserFriend1.setFriendId(teacherId);
|
|
|
- imUserFriend1.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
- imUserFriend1.setMemo(musicGroup.getName());
|
|
|
- imUserFriend1.setTags(teacherSubjectNameMap.get(teacherId));
|
|
|
- imUserFriends.add(imUserFriend1);
|
|
|
- for (Integer education : educations) {
|
|
|
- if(studentId == education){
|
|
|
+ //学员关联的教务
|
|
|
+ for (Integer education : educationIds) {
|
|
|
+ if(education == studentId){
|
|
|
continue;
|
|
|
}
|
|
|
- //学员关联教务
|
|
|
- ImUserFriend imUserFriend2 = new ImUserFriend();
|
|
|
- imUserFriend2.setUserId(studentId);
|
|
|
- imUserFriend2.setFriendId(education);
|
|
|
- imUserFriend2.setFriendNickname(nameIdMap.get(education));
|
|
|
- imUserFriend2.setMemo(musicGroup.getName());
|
|
|
- imUserFriend2.setTags(teacherSubjectNameMap.get(education));
|
|
|
- imUserFriends.add(imUserFriend2);
|
|
|
- //教务关联学员
|
|
|
- ImUserFriend imUserFriend3 = new ImUserFriend();
|
|
|
- imUserFriend3.setUserId(education);
|
|
|
- imUserFriend3.setFriendId(studentId);
|
|
|
- imUserFriend3.setFriendNickname(nameIdMap.get(studentId));
|
|
|
- imUserFriend3.setMemo(musicGroup.getName());
|
|
|
- imUserFriend3.setTags(studentSubjectName.get(studentId));
|
|
|
- imUserFriends.add(imUserFriend3);
|
|
|
+ ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
+ imUserFriend.setUserId(studentId);
|
|
|
+ imUserFriend.setFriendId(education);
|
|
|
+ imUserFriend.setFriendNickname(educationRealNameMap.get(education));
|
|
|
+ imUserFriends.add(imUserFriend);
|
|
|
}
|
|
|
}
|
|
|
if(imUserFriends.size() > 0){
|
|
|
batchInsert(imUserFriends);
|
|
|
}
|
|
|
}
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public void classGroupAddStudent(Integer classGroupId, Set<Integer> studentIds) {
|
|
|
+// ClassGroup classGroup = classGroupDao.get(classGroupId);
|
|
|
+// //获取关联的老师
|
|
|
+// Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(classGroupId);
|
|
|
+//
|
|
|
+// GroupType groupType = classGroup.getGroupType();
|
|
|
+// saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId());
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public void classGroupChangeTeacher(Integer classGroupId, Integer teacherId) {
|
|
|
+// Set<Integer> studentIds = new HashSet<>();
|
|
|
+// Set<Integer> educations = new HashSet<>();
|
|
|
+//
|
|
|
+// ClassGroup classGroup = classGroupDao.get(classGroupId);
|
|
|
+// List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
+// //获取班级关联的学员
|
|
|
+// List<ClassGroupStudentMapper> studentMappers = classGroupStudentMapperDao.findAllByClassGroup(classGroupId.longValue());
|
|
|
+// studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
+//
|
|
|
+// MusicGroup musicGroup = new MusicGroup();
|
|
|
+// Map<Integer,String> studentSubjectName = new HashMap<>();
|
|
|
+// studentIds.add(teacherId);
|
|
|
+// //获取老师声部
|
|
|
+// Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+//
|
|
|
+// GroupType groupType = classGroup.getGroupType();
|
|
|
+// if(groupType == MUSIC){
|
|
|
+// //获取当前学员声部
|
|
|
+// studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
+// //关联乐团管理人员通讯录
|
|
|
+// musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
+// studentIds.add(musicGroup.getDirectorUserId());
|
|
|
+// studentIds.add(musicGroup.getEducationalTeacherId());
|
|
|
+// studentIds.add(musicGroup.getTeamTeacherId());
|
|
|
+// educations.add(musicGroup.getDirectorUserId());
|
|
|
+// educations.add(musicGroup.getEducationalTeacherId());
|
|
|
+// educations.add(musicGroup.getTeamTeacherId());
|
|
|
+// }else if(groupType == VIP){
|
|
|
+// VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
+// studentIds.add(vipGroup.getEducationalTeacherId());
|
|
|
+// educations.add(vipGroup.getEducationalTeacherId());
|
|
|
+// }else if(groupType == PRACTICE){
|
|
|
+// PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId()));
|
|
|
+// studentIds.add(practiceGroup.getEducationalTeacherId());
|
|
|
+// educations.add(practiceGroup.getEducationalTeacherId());
|
|
|
+// }
|
|
|
+// educations.removeAll(Collections.singleton(null));
|
|
|
+// studentIds.removeAll(Collections.singleton(null));
|
|
|
+// //获取通讯录昵称
|
|
|
+// Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+// for (Integer studentId : studentIds) {
|
|
|
+// if(teacherId == studentId){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //老师关联的学员、教务
|
|
|
+// ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
+// imUserFriend.setUserId(teacherId);
|
|
|
+// imUserFriend.setFriendId(studentId);
|
|
|
+// imUserFriend.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+// imUserFriend.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend.setTags(teacherSubjectNameMap.get(studentId));
|
|
|
+// imUserFriends.add(imUserFriend);
|
|
|
+// //学员、教务关联的老师
|
|
|
+// ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
+// imUserFriend1.setUserId(studentId);
|
|
|
+// imUserFriend1.setFriendId(teacherId);
|
|
|
+// imUserFriend1.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
+// imUserFriend1.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend1.setTags(studentSubjectName.get(teacherId));
|
|
|
+// imUserFriends.add(imUserFriend1);
|
|
|
+//
|
|
|
+// for (Integer education : educations) {
|
|
|
+// if(studentId == education){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //教务关联的学员
|
|
|
+// ImUserFriend imUserFriend2 = new ImUserFriend();
|
|
|
+// imUserFriend2.setUserId(education);
|
|
|
+// imUserFriend2.setFriendId(studentId);
|
|
|
+// imUserFriend2.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+// imUserFriend2.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend2.setTags(studentSubjectName.get(studentId));
|
|
|
+// imUserFriends.add(imUserFriend2);
|
|
|
+// //学员关联的教务
|
|
|
+// ImUserFriend imUserFriend3 = new ImUserFriend();
|
|
|
+// imUserFriend3.setUserId(studentId);
|
|
|
+// imUserFriend3.setFriendId(education);
|
|
|
+// imUserFriend3.setFriendNickname(nameIdMap.get(education));
|
|
|
+// imUserFriend3.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend3.setTags(teacherSubjectNameMap.get(education));
|
|
|
+// imUserFriends.add(imUserFriend3);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if(imUserFriends.size() > 0){
|
|
|
+// batchInsert(imUserFriends);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public void groupChangeEducation(String groupId, Integer educationId, GroupType groupType) {
|
|
|
+// Set<Integer> studentIds = new HashSet<>();
|
|
|
+// List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
+// //获取班级关联的学员
|
|
|
+// List<ClassGroupStudentInfoDto> studentMappers = classGroupStudentMapperDao.findByGroupOrClassGroup(groupId, groupType, null);
|
|
|
+// studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
+// //获取班级关联的老师
|
|
|
+// List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperDao.findAllByMusicGroup(groupId,groupType,null);
|
|
|
+// studentIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
+// //获取课程关联的老师
|
|
|
+// List<CourseScheduleTeacherSalary> teacherSalaries = courseScheduleTeacherSalaryDao.findByGroup(groupId, groupType.getCode());
|
|
|
+// studentIds.addAll(teacherSalaries.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
+// studentIds.add(educationId);
|
|
|
+//
|
|
|
+// //获取通讯录昵称
|
|
|
+// Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+// //获取老师声部
|
|
|
+// Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+// for (Integer studentId : studentIds) {
|
|
|
+// if(educationId == studentId){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //教务关联的老师、学员
|
|
|
+// ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
+// imUserFriend.setUserId(educationId);
|
|
|
+// imUserFriend.setFriendId(studentId);
|
|
|
+// imUserFriend.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+// imUserFriend.setTags(teacherSubjectNameMap.get(studentId));
|
|
|
+// imUserFriends.add(imUserFriend);
|
|
|
+// //学员老师关联教务
|
|
|
+// ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
+// imUserFriend1.setUserId(studentId);
|
|
|
+// imUserFriend1.setFriendId(educationId);
|
|
|
+// imUserFriend1.setFriendNickname(nameIdMap.get(educationId));
|
|
|
+// imUserFriends.add(imUserFriend1);
|
|
|
+// }
|
|
|
+// if(imUserFriends.size() > 0){
|
|
|
+// batchInsert(imUserFriends);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
+// public void courseScheduleChangeTeacher(Long courseScheduleId, Integer teacherId) {
|
|
|
+// Set<Integer> studentIds = new HashSet<>();
|
|
|
+// Set<Integer> educations = new HashSet<>();
|
|
|
+// List<ImUserFriend> imUserFriends = new ArrayList<>();
|
|
|
+// CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
|
|
|
+// //获取课程上关联的学员
|
|
|
+// List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
|
|
|
+// studentIds.addAll(studentPayments.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
+// studentIds.add(teacherId);
|
|
|
+// //学员声部列表
|
|
|
+// Map<Integer,String> studentSubjectName = new HashMap<>();
|
|
|
+// MusicGroup musicGroup = new MusicGroup();
|
|
|
+// GroupType groupType = courseSchedule.getGroupType();
|
|
|
+// if(groupType == MUSIC){
|
|
|
+// musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
+// //获取学员声部列表
|
|
|
+// studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
|
|
|
+// //关联乐团管理人员通讯录
|
|
|
+// musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
+// studentIds.add(musicGroup.getDirectorUserId());
|
|
|
+// studentIds.add(musicGroup.getEducationalTeacherId());
|
|
|
+// studentIds.add(musicGroup.getTeamTeacherId());
|
|
|
+// educations.add(musicGroup.getDirectorUserId());
|
|
|
+// educations.add(musicGroup.getEducationalTeacherId());
|
|
|
+// educations.add(musicGroup.getTeamTeacherId());
|
|
|
+// }else if(groupType == VIP){
|
|
|
+// VipGroup vipGroup = vipGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
|
|
|
+// educations.add(vipGroup.getEducationalTeacherId());
|
|
|
+// studentIds.add(vipGroup.getEducationalTeacherId());
|
|
|
+// }else if(groupType == PRACTICE){
|
|
|
+// PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId()));
|
|
|
+// studentIds.add(practiceGroup.getEducationalTeacherId());
|
|
|
+// educations.add(practiceGroup.getEducationalTeacherId());
|
|
|
+// }
|
|
|
+// educations.removeAll(Collections.singleton(null));
|
|
|
+// studentIds.removeAll(Collections.singleton(null));
|
|
|
+// //获取通讯录昵称
|
|
|
+// Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+// //获取老师声部
|
|
|
+// Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds)));
|
|
|
+// for (Integer studentId : studentIds) {
|
|
|
+// if(teacherId == studentId){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //老师关联的学员和教务
|
|
|
+// ImUserFriend imUserFriend = new ImUserFriend();
|
|
|
+// imUserFriend.setUserId(teacherId);
|
|
|
+// imUserFriend.setFriendId(studentId);
|
|
|
+// imUserFriend.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+// imUserFriend.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend.setTags(studentSubjectName.get(studentId));
|
|
|
+// imUserFriends.add(imUserFriend);
|
|
|
+// //学员关联的老师、教务关联老师
|
|
|
+// ImUserFriend imUserFriend1 = new ImUserFriend();
|
|
|
+// imUserFriend1.setUserId(studentId);
|
|
|
+// imUserFriend1.setFriendId(teacherId);
|
|
|
+// imUserFriend1.setFriendNickname(nameIdMap.get(teacherId));
|
|
|
+// imUserFriend1.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend1.setTags(teacherSubjectNameMap.get(teacherId));
|
|
|
+// imUserFriends.add(imUserFriend1);
|
|
|
+// for (Integer education : educations) {
|
|
|
+// if(studentId == education){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //学员关联教务
|
|
|
+// ImUserFriend imUserFriend2 = new ImUserFriend();
|
|
|
+// imUserFriend2.setUserId(studentId);
|
|
|
+// imUserFriend2.setFriendId(education);
|
|
|
+// imUserFriend2.setFriendNickname(nameIdMap.get(education));
|
|
|
+// imUserFriend2.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend2.setTags(teacherSubjectNameMap.get(education));
|
|
|
+// imUserFriends.add(imUserFriend2);
|
|
|
+// //教务关联学员
|
|
|
+// ImUserFriend imUserFriend3 = new ImUserFriend();
|
|
|
+// imUserFriend3.setUserId(education);
|
|
|
+// imUserFriend3.setFriendId(studentId);
|
|
|
+// imUserFriend3.setFriendNickname(nameIdMap.get(studentId));
|
|
|
+// imUserFriend3.setMemo(musicGroup.getName());
|
|
|
+// imUserFriend3.setTags(studentSubjectName.get(studentId));
|
|
|
+// imUserFriends.add(imUserFriend3);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if(imUserFriends.size() > 0){
|
|
|
+// batchInsert(imUserFriends);
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
}
|