|
@@ -69,6 +69,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
|
|
|
@Autowired
|
|
|
private StudentDao studentDao;
|
|
|
+ @Autowired
|
|
|
+ private ImUserFriendDao imUserFriendDao;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -234,6 +236,71 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
return teachers.stream().distinct().collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ public void queryGroupStudents1(Integer teacherId, String search) {
|
|
|
+ //获取关联的学员列表
|
|
|
+ Set<Integer> studentIds = teacherDao.queryCourseClassStudentIds(teacherId);
|
|
|
+ //获取关联的老师列表
|
|
|
+ studentIds.addAll(teacherDao.queryCourseClassTeacherIds(teacherId));
|
|
|
+ //获取关联的乐团的管理老师
|
|
|
+ List<String> musicLeaderIds = teacherDao.queryMusicLeaderIds(teacherId);
|
|
|
+ musicLeaderIds.removeAll(Collections.singleton(null));
|
|
|
+ if(musicLeaderIds.size() > 0){
|
|
|
+ Set<String> leaderIds = new HashSet<>();
|
|
|
+ musicLeaderIds.forEach(e->{
|
|
|
+ leaderIds.addAll(Arrays.asList(e.split(",")));
|
|
|
+ });
|
|
|
+ leaderIds.forEach(e->{
|
|
|
+ studentIds.add(Integer.valueOf(e));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ 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, ","));
|
|
|
+ Set<Integer> teacherIdSet = new HashSet<>();
|
|
|
+ if(musicGroupList != null && musicGroupList.size() > 0){
|
|
|
+ musicGroupList.forEach(e->{
|
|
|
+ teacherIdSet.add(e.getTeamTeacherId());
|
|
|
+ teacherIdSet.add(e.getEducationalTeacherId());
|
|
|
+ teacherIdSet.add(e.getDirectorUserId());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ teacherIdSet.remove(teacherId);
|
|
|
+ teacherIdSet.removeAll(Collections.singleton(null));
|
|
|
+ if(teacherIdSet.size() > 0){
|
|
|
+ teachers = 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));
|
|
|
+ userDtos.forEach(e->{
|
|
|
+ e.setMusicGroupName(musicGroupNameMap.get(e.getMusicGroupId()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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));
|
|
|
+ }
|
|
|
+ //删除现有的用户通讯录
|
|
|
+ imUserFriendDao.deleteByUserId(teacherId);
|
|
|
+ //批量新增
|
|
|
+ imUserFriendDao.batchInsert(teachers,teacherId);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<TeacherBasicDto> findTeachers(String organId) {
|
|
|
return teacherDao.findByFlowOrganRangeTeachers(organId);
|
|
@@ -562,4 +629,9 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
return teacherDao.queryTeacherDefaultSalary(organIdList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<Integer> queryAllIds() {
|
|
|
+ return teacherDao.queryAllIds();
|
|
|
+ }
|
|
|
+
|
|
|
}
|