Browse Source

Merge branch 'master' into origin_master

Joburgess 4 years ago
parent
commit
9d47581c8a

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImUserFriendDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import org.apache.ibatis.annotations.Param;
@@ -34,5 +35,5 @@ public interface ImUserFriendDao extends BaseDAO<Long, ImUserFriend> {
 	 * @param teachers
 	 * @param teacherId
 	 */
-	void batchInsert(@Param("teachers") List<BasicUserDto> teachers, @Param("teacherId") Integer teacherId);
+	void batchInsert(@Param("teachers") Set<BasicUserDto> teachers, @Param("teacherId") Integer teacherId);
 }

+ 1 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3953,13 +3953,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             }
         }
 
-		Set<Long> courseIds = null;
 		if (updateList.size() > 0) {
             courseScheduleDao.batchUpdate(updateList);
-			courseIds = updateList.stream().map(CourseSchedule::getId).collect(Collectors.toSet());
         }
 
-		courseEventSource.courseStatusChange(courseIds);
+		courseEventSource.courseStatusChange(null);
 
         // 更新班级已上课次
         if (classGroupIds.size() > 0) {

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -86,9 +86,10 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		LocalDate nowDate = LocalDate.now();
 
 		List<Organization> allOrgans = organizationDao.findAllOrgans();
-		Set<Integer> organIds = allOrgans.stream().map(Organization::getId).collect(Collectors.toSet());
-		this.organIds.get().clear();
-		this.organIds.get().addAll(organIds);
+		if(CollectionUtils.isEmpty(this.organIds.get())){
+			this.organIds.get().clear();
+			this.organIds.get().addAll(allOrgans.stream().map(Organization::getId).collect(Collectors.toSet()));
+		}
 
 		startMonth = df.format(nowDate);
 

+ 51 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -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;
@@ -238,6 +240,45 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 
 	@Transactional(rollbackFor = Exception.class)
 	public void queryGroupStudents1(Integer teacherId, String search) {
+		List<ImUserFriendDto> imUserFriendDtos = imUserFriendDao.queryFriendListByUserId(teacherId, search);
+		if(imUserFriendDtos.size() > 0){
+			return;
+		}
+		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 +297,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 +312,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,20 +329,12 @@ 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);
 		}
 	}
 

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -226,7 +226,7 @@
 			COUNT( DISTINCT sr.user_id_ ) activate_num_,
 			COUNT( DISTINCT sr.user_id_ ) percent_
 		FROM student_registration sr
-				 LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
+			LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
 		WHERE
 			mg.del_flag_ = 0
 			AND mg.status_ = 'PROGRESS'
@@ -247,7 +247,7 @@
 			COUNT( t.id_ ) percent_
 		FROM
 			teacher t
-				LEFT JOIN sys_user su ON su.id_ = t.id_
+			LEFT JOIN sys_user su ON su.id_ = t.id_
 		WHERE
 			su.del_flag_ = 0
 		  	<if test="isDemission==null">