Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 4 năm trước cách đây
mục cha
commit
6ecc394e80

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -264,12 +264,6 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	public void level(List<EmployeeLevelDto> employeeLevelDtos) {
 		Integer levelUserId = employeeLevelDtos.get(0).getLevelUserId();
 		List<ImGroupModel> educationGroupModels = new ArrayList<>();
-		//获取用户担任教务老师的所有乐团列表
-		List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
-		//获取用户担任教务老师的所有网管课列表
-		List<String> practiceGroupIds = employeeDao.queryPracticeGroupIdByUserId(levelUserId);
-		//获取用户担任教务老师的所有VIP课列表
-		List<String> vipGroupIds = employeeDao.queryVipGroupIdByUserId(levelUserId);
 		//获取用户需要加入的群组列表
 		Map<String, List<EmployeeLevelDto>> collect = employeeLevelDtos.stream().collect(Collectors.groupingBy(e -> e.getRoleName()));
 		Set<String> roleNames = collect.keySet();
@@ -356,6 +350,12 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employeeDao.updateUserDemissionDate(levelUserId);
 		//冻结用户
 		employeeDao.updateUserLock(levelUserId,1);
+		//获取用户担任教务老师、维修技师的所有乐团列表
+		List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
+		//获取用户担任教务老师的所有网管课列表
+		List<String> practiceGroupIds = employeeDao.queryPracticeGroupIdByUserId(levelUserId);
+		//获取用户担任教务老师的所有VIP课列表
+		List<String> vipGroupIds = employeeDao.queryVipGroupIdByUserId(levelUserId);
 		if(musicGroupIds.size() > 0){
 			for (String musicGroupId : musicGroupIds) {
 				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.MUSIC);

+ 35 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java

@@ -187,6 +187,8 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 	public List<ImUserFriend> saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){
 		List<ImUserFriend> imUserFriends = new ArrayList<>();
 		Set<Integer> educationIds = new HashSet<>();
+		Integer repairUserId = null;
+		String repairUserName = null;
 		MusicGroup musicGroup = new MusicGroup();
 		//获取当前学员声部
 		Map<Integer,String> studentSubjectName = new HashMap<>();
@@ -200,6 +202,10 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 			educationIds.add(musicGroup.getDirectorUserId());
 			educationIds.add(musicGroup.getEducationalTeacherId());
 			educationIds.add(musicGroup.getTeamTeacherId());
+			if(musicGroup.getRepairUserId() != null){
+				repairUserId = musicGroup.getRepairUserId();
+				repairUserName = teacherDao.queryNameById(repairUserId);
+			}
 			if(studentIds.size() > 0){
 				studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
 			}
@@ -282,7 +288,7 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 				imUserFriends.add(imUserFriend);
 			}
 		}
-		//学员关联的老师、教务
+		//学员关联的老师、教务、维修技师
 		for (Integer studentId : studentIds) {
 			//学员关联的老师
 			for (Integer teacher : teacherIds) {
@@ -308,6 +314,34 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 				imUserFriend.setFriendNickname(educationRealNameMap.get(education));
 				imUserFriends.add(imUserFriend);
 			}
+			//学员关联维修技师
+			if(repairUserId != null){
+				if(repairUserId == studentId){
+					continue;
+				}
+				ImUserFriend imUserFriend = new ImUserFriend();
+				imUserFriend.setUserId(studentId);
+				imUserFriend.setFriendId(repairUserId);
+				imUserFriend.setFriendNickname(repairUserName);
+				imUserFriend.setMemo(musicGroup.getName());
+				imUserFriend.setTags("维修技师");
+				imUserFriends.add(imUserFriend);
+			}
+		}
+		//维修技师关联学员
+		if(repairUserId != null){
+			for (Integer studentId : studentIds) {
+				if(repairUserId == studentId){
+					continue;
+				}
+				ImUserFriend imUserFriend = new ImUserFriend();
+				imUserFriend.setUserId(repairUserId);
+				imUserFriend.setFriendId(studentId);
+				imUserFriend.setFriendNickname(usernameMap.get(studentId));
+				imUserFriend.setMemo(musicGroup.getName());
+				imUserFriend.setTags(studentSubjectName.get(studentId));
+				imUserFriends.add(imUserFriend);
+			}
 		}
 		return imUserFriends;
 	}

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -1191,8 +1191,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				if(musicGroupStudentClassAdjust != null){
 					//如果是合班缴费
 					autoClassGroupAdjust(musicGroupStudentClassAdjust);
-				}else {
-					imUserFriendService.refreshGroupImUserFriend(calender.getMusicGroupId(),GroupType.MUSIC);
 				}
 			}else if(calender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
 				//删除和解冻班级,课程信息
@@ -1212,6 +1210,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
 			}
 			musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
+			if (calender.getPaymentType() == ADD_STUDENT){
+				imUserFriendService.refreshGroupImUserFriend(calender.getMusicGroupId(),GroupType.MUSIC);
+			}
 		}
 	}
 

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2648,6 +2648,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             refresh = true;
             updateTeamTeacher(group, musicGroup);
         }
+        //修改了维修技师
+        if(musicGroup.getRepairUserId() != null && !musicGroup.getRepairUserId().equals(group.getRepairUserId())){
+            refresh = true;
+        }
         //不是导入的乐团
         if (musicGroupId.length() > 10) {
             //是否有预报名的群聊

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

@@ -358,7 +358,7 @@
 
     <select id="queryMusicGroupIdByUserId" resultType="java.lang.String">
         SELECT DISTINCT id_ FROM music_group
-        WHERE (director_user_id_ = #{levelUserId} OR educational_teacher_id_ = #{levelUserId} OR team_teacher_id_ = #{levelUserId})
+        WHERE (director_user_id_ = #{levelUserId} OR educational_teacher_id_ = #{levelUserId} OR team_teacher_id_ = #{levelUserId} OR repair_user_id_ = #{levelUserId})
         AND status_ IN ('PROGRESS','PAUSE','PREPARE')
     </select>