Bladeren bron

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 4 jaren geleden
bovenliggende
commit
47ec7d4506

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ImUserFriendService.java

@@ -64,7 +64,7 @@ public interface ImUserFriendService extends BaseService<Long, ImUserFriend> {
 	 * @param studentId
 	 * @author zouxuan
 	 */
-	void classGroupAddStudent(Integer classGroupId,Integer studentId);
+	void classGroupAddStudent(Integer classGroupId,List<Integer> studentId);
 
 	/**
 	 * 班级更换老师

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2225,6 +2225,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             });
             newTeacherMapperList.forEach(e -> {
                 imGroupMemberService.join(classGroupId.longValue(), e.getUserId(), null, false);
+                imUserFriendService.classGroupChangeTeacher(classGroupId,e.getUserId());
             });
         }
         if (Objects.nonNull(classGroup4MixDtos.get(0).getCourseAddType()) && classGroup4MixDtos.get(0).getCourseAddType().equals("onlyUpdateTeacher")) {

+ 5 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -14,6 +14,7 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
@@ -46,16 +47,6 @@ import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.biz.service.ClassGroupRelationService;
-import com.ym.mec.biz.service.ClassGroupService;
-import com.ym.mec.biz.service.ClassGroupStudentMapperService;
-import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
-import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
-import com.ym.mec.biz.service.ImGroupMemberService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -105,6 +96,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
     @Autowired
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
 
+    @Autowired
+    private ImUserFriendService imUserFriendService;
+
     private static String holidayUrl = "http://tool.bitefu.net/jiari/?d=";
 
     @Override
@@ -544,6 +538,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             }
             //5、添加进IM群组
             imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imUserFriendService.classGroupAddStudent(classGroup.getId(),new ArrayList<>(addStudentIds));
         }
     }
 

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

@@ -3229,6 +3229,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					ta.setMusicGroupId(newCourseSchedule.getMusicGroupId());
 					ta.setTeacherId(teacherId);
 					insertTeacherAttendanceList.add(ta);
+					imUserFriendService.classGroupChangeTeacher(newCourseSchedule.getClassGroupId(), teacherId);
 				}
 				
 			}

+ 45 - 41
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java

@@ -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);

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -91,6 +91,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
     @Autowired
 	private ImGroupMemberService imGroupMemberService;
+    @Autowired
+	private ImUserFriendService imUserFriendService;
     
     @Autowired
     private ImGroupService imGroupService;
@@ -1427,6 +1429,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		try {
 			imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroupApplyBaseInfoDto.getName(), null, null, GroupType.VIP.getCode());
 			imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+			List<Integer> studentIds = classGroupStudents.stream().map(ClassGroupStudentMapper::getUserId).collect(Collectors.toList());
+			imUserFriendService.classGroupAddStudent(classGroup.getId(), studentIds);
 
 			//发送推送短信
 			Map<Integer,String> map = new HashMap<>(1);
@@ -2029,6 +2033,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		if(Objects.nonNull(studentRecoverInfo.getTeacherId())){
 			vipGroup.setUserId(studentRecoverInfo.getTeacherId());
+			imUserFriendService.classGroupChangeTeacher(classGroup.getId(), studentRecoverInfo.getTeacherId());
 		}
 
 		Map<String, Object> courseInfo = JSON.parseObject(studentPauseInfo.getCoursesJson(), Map.class);
@@ -2135,6 +2140,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         classGroup.setTotalClassTimes(courseScheduleDao.countClassGroupCourses(classGroup.getId()));
         classGroupDao.update(classGroup);
 		courseScheduleTeacherSalaryService.updateVipGroupCourseTeacherSalary(vipGroup.getId().intValue(),oldTeacherId);
+		imUserFriendService.classGroupAddStudent(classGroup.getId(), Arrays.asList(studentRecoverInfo.getUserId()));
 	}
 
     @Override
@@ -2657,6 +2663,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			isChange=true;
 			
 			imGroupMemberService.join(classGroup.getId().longValue(), oldVipGroupInfo.getEducationalTeacherId(), null, false);
+			imUserFriendService.groupChangeEducation(oldVipGroupInfo.getId().toString(), oldVipGroupInfo.getEducationalTeacherId(), GroupType.VIP);
 		}
 		if(Objects.nonNull(vipGroupApplyBaseInfo.getOrganId())&&!vipGroupApplyBaseInfo.getOrganId().equals(oldVipGroupInfo.getOrganId())){
 			isChange=true;
@@ -2913,6 +2920,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			try {
 				imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
 				imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+				imUserFriendService.classGroupAddStudent(classGroup.getId(), studentIds);
 			} catch (Exception e) {
 				e.printStackTrace();
 			}
@@ -3095,6 +3103,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		try {
 			imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
 			imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+			imUserFriendService.classGroupAddStudent(classGroup.getId(), studentIds);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}

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

@@ -1011,7 +1011,8 @@
 	</select>
     <select id="queryTeacherByTeaching" resultType="java.lang.Integer">
 		SELECT DISTINCT cgtm.user_id_ FROM class_group_teacher_mapper cgtm
-		WHERE cgtm.class_group_id_ = #{classGroupId} AND cgtm.teacher_role_ = 'TEACHING';
+		WHERE cgtm.class_group_id_ = #{classGroupId}
+		  AND cgtm.teacher_role_ = 'TEACHING'
 	</select>
     <select id="queryTeacherByBishop" resultType="java.lang.Integer">
 		SELECT DISTINCT cgtm.user_id_ FROM class_group_teacher_mapper cgtm

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -905,6 +905,7 @@
         <result column="is_super_admin_" property="isSuperAdmin"/>
         <result column="current_grade_" property="currentGrade"/>
         <result column="current_class_" property="currentClass"/>
+        <result column="certificate_type_" property="certificateType" />
     </resultMap>
 
     <select id="getUser" resultMap="SysUser">