|
@@ -52,6 +52,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
@Autowired
|
|
|
private MusicGroupDao musicGroupDao;
|
|
|
@Autowired
|
|
|
+ private StudentRegistrationDao studentRegistrationDao;
|
|
|
+ @Autowired
|
|
|
private DemoGroupDao demoGroupDao;
|
|
|
@Autowired
|
|
|
private OrganizationDao organizationDao;
|
|
@@ -237,7 +239,42 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void queryGroupStudents1(Integer teacherId, String search) {
|
|
|
+ public List<ImUserFriendDto> queryGroupStudents1(Integer teacherId, String search) {
|
|
|
+ Set<BasicUserDto> basicUserDtos = new HashSet<>();
|
|
|
+ //学员关联的通讯录
|
|
|
+ //获取相关课程,班级老师列表
|
|
|
+ Set<Integer> teacherIds = teacherDao.findMusicTeacherIds(teacherId);
|
|
|
+ //获取学员所在乐团列表
|
|
|
+ List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(teacherId);
|
|
|
+ if (musicGroupIds != null && musicGroupIds.size() > 0) {
|
|
|
+ List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(StringUtils.join(musicGroupIds, ","));
|
|
|
+ musicGroups.forEach(e -> {
|
|
|
+ teacherIds.add(e.getDirectorUserId());
|
|
|
+ teacherIds.add(e.getEducationalTeacherId());
|
|
|
+ teacherIds.add(e.getTeamTeacherId());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ //获取相关vip课老师列表
|
|
|
+ teacherIds.addAll(teacherDao.findVipTeacherIds(teacherId));
|
|
|
+ //获取陪练课老师列表
|
|
|
+ teacherIds.addAll(teacherDao.findPracticeTeacherIds(teacherId));
|
|
|
+ //获取对外课程老师列表
|
|
|
+ teacherIds.addAll(teacherDao.findCloseCourseTeacherIds(teacherId));
|
|
|
+ //获取陪练课课程教务老师
|
|
|
+ teacherIds.addAll(teacherDao.findPracticeEducationalTeacherId(teacherId));
|
|
|
+ //获取VIP课程教务老师
|
|
|
+ teacherIds.addAll(teacherDao.findVipEducationalTeacherId(teacherId));
|
|
|
+ //获取对外课程务老师
|
|
|
+ teacherIds.addAll(teacherDao.findCommEducationalTeacherId(teacherId));
|
|
|
+ //获取关联的指导老师
|
|
|
+ Student student = studentDao.get(teacherId);
|
|
|
+ if (student != null && student.getTeacherId() != null) {
|
|
|
+ teacherIds.add(student.getTeacherId());
|
|
|
+ }
|
|
|
+ if (teacherIds.size() > 0) {
|
|
|
+ basicUserDtos.addAll(teacherDao.queryTeacherBaseInfo(teacherIds, search));
|
|
|
+ }
|
|
|
+
|
|
|
//获取关联的学员列表
|
|
|
Set<Integer> studentIds = teacherDao.queryCourseClassStudentIds(teacherId);
|
|
|
//获取关联的老师列表
|
|
@@ -256,7 +293,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
}
|
|
|
studentIds.removeAll(Collections.singleton(null));
|
|
|
List<ImGroupModel> musicGroups = musicGroupDao.queryTeacherGroups(teacherId,search);
|
|
|
- List<BasicUserDto> teachers = new ArrayList<>();
|
|
|
+
|
|
|
if(musicGroups != null && musicGroups.size() > 0){
|
|
|
Set<String> musicGroupId = musicGroups.stream().map(ImGroupModel::getId).collect(Collectors.toSet());
|
|
|
List<MusicGroup> musicGroupList = musicGroupDao.queryListByIds(StringUtils.join(musicGroupId, ","));
|
|
@@ -271,15 +308,16 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
teacherIdSet.remove(teacherId);
|
|
|
teacherIdSet.removeAll(Collections.singleton(null));
|
|
|
if(teacherIdSet.size() > 0){
|
|
|
- teachers = teacherDao.queryMusicGroupStudents(StringUtils.join(teacherIdSet,","), search);
|
|
|
+ basicUserDtos.addAll(teacherDao.queryMusicGroupStudents(StringUtils.join(teacherIdSet,","), search));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
List<BasicUserDto> userDtos = teacherDao.queryGroupStudents(teacherId, search);
|
|
|
if(userDtos != null && userDtos.size() > 0){
|
|
|
- teachers.addAll(userDtos);
|
|
|
- Set<String> musicGroupIds = userDtos.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
|
|
|
- if(musicGroupIds != null && musicGroupIds.size() > 0){
|
|
|
- Map<String, String> musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
|
|
|
+ basicUserDtos.addAll(userDtos);
|
|
|
+ Set<String> musicGroupIds1 = userDtos.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
|
|
|
+ if(musicGroupIds1 != null && musicGroupIds1.size() > 0){
|
|
|
+ Map<String, String> musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds1));
|
|
|
userDtos.forEach(e->{
|
|
|
e.setMusicGroupName(musicGroupNameMap.get(e.getMusicGroupId()));
|
|
|
});
|
|
@@ -287,21 +325,15 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
}
|
|
|
studentIds.removeAll(userDtos.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
|
|
|
studentIds.remove(teacherId);
|
|
|
- //获取课程关联的学生列表
|
|
|
-// teachers.addAll(teacherDao.findCloseCourseStudentIds(teacherId, search));
|
|
|
- //获取相关vip陪练教务的学员编号
|
|
|
-// teachers.addAll(teacherDao.findVipEducationalStudentId(teacherId,search));
|
|
|
-// teachers.addAll(teacherDao.findCommEducationalStudentId(teacherId,search));
|
|
|
-// teachers.addAll(teacherDao.findPracticeEducationalStudentId(teacherId,search));
|
|
|
if(studentIds.size() > 0){
|
|
|
- teachers.addAll(teacherDao.queryTeacherBaseInfo(studentIds,search));
|
|
|
+ basicUserDtos.addAll(teacherDao.queryTeacherBaseInfo(studentIds,search));
|
|
|
}
|
|
|
- if(teachers.size() > 0){
|
|
|
- //删除现有的用户通讯录
|
|
|
- imUserFriendDao.deleteByUserId(teacherId);
|
|
|
+ if(basicUserDtos.size() > 0){
|
|
|
//批量新增
|
|
|
- imUserFriendDao.batchInsert(teachers,teacherId);
|
|
|
+ imUserFriendDao.batchInsert(basicUserDtos,teacherId);
|
|
|
+ return imUserFriendDao.queryFriendListByUserId(teacherId, search);
|
|
|
}
|
|
|
+ return new ArrayList<>();
|
|
|
}
|
|
|
|
|
|
@Override
|