|  | @@ -16,19 +16,20 @@ import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  | +import com.ym.mec.common.entity.ImGroupMember;
 | 
	
		
			
				|  |  | +import com.ym.mec.common.entity.ImGroupModel;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.exception.BizException;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.page.PageInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.page.QueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
	
		
			
				|  |  | +import com.ym.mec.im.ImFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.jiari.JiaRiFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.collection.ListUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.collection.MapUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.date.DateUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.json.JsonUtil;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  import feign.codec.DecodeException;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  import org.apache.commons.collections.ListUtils;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
	
		
			
				|  | @@ -113,6 +114,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |      private SysConfigService sysConfigService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private SchoolDao schoolDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +	private ImFeignService imFeignService;
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private CourseHomeworkService courseHomeworkService;
 | 
	
	
		
			
				|  | @@ -3768,7 +3771,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -    public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId) {
 | 
	
		
			
				|  |  | +    public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId, Integer educationalTeacherId) {
 | 
	
		
			
				|  |  |          SysUser user = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  |          if (null == user) {
 | 
	
		
			
				|  |  |              throw new BizException("获取用户信息失败");
 | 
	
	
		
			
				|  | @@ -3784,6 +3787,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |              courseSchedules = courseSchedules.stream().filter(courseSchedule -> !courseSchedule.getActualTeacherId().equals(teacherId)).collect(Collectors.toList());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  		PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(practiceGroupId));
 | 
	
		
			
				|  |  | +		ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(practiceGroupId, GroupType.PRACTICE.getCode());
 | 
	
		
			
				|  |  | +        if(Objects.nonNull(educationalTeacherId)&&!educationalTeacherId.equals(practiceGroup.getEducationalTeacherId())){
 | 
	
		
			
				|  |  | +			if(Objects.nonNull(practiceGroup.getEducationalTeacherId())){
 | 
	
		
			
				|  |  | +				ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(practiceGroup.getEducationalTeacherId().toString())};
 | 
	
		
			
				|  |  | +				imFeignService.groupQuit(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			practiceGroup.setEducationalTeacherId(educationalTeacherId);
 | 
	
		
			
				|  |  | +			ImGroupMember[] newImGroupMemberList = new ImGroupMember[]{new ImGroupMember(practiceGroup.getEducationalTeacherId().toString())};
 | 
	
		
			
				|  |  | +			imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), newImGroupMemberList,classGroup.getName()));
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  		if(Objects.nonNull(subjectId)&&!subjectId.equals(practiceGroup.getSubjectId())){
 | 
	
		
			
				|  |  |  			Subject subject = subjectDao.get(subjectId);
 | 
	
		
			
				|  |  |  			String groupName = practiceGroup.getName();
 | 
	
	
		
			
				|  | @@ -3791,14 +3805,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |  			groupName=subject.getName()+groupName;
 | 
	
		
			
				|  |  |  			practiceGroup.setName(groupName);
 | 
	
		
			
				|  |  |  			practiceGroup.setSubjectId(subjectId);
 | 
	
		
			
				|  |  | -			practiceGroupDao.update(practiceGroup);
 | 
	
		
			
				|  |  | -			ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(practiceGroupId, GroupType.PRACTICE.getCode());
 | 
	
		
			
				|  |  |  			classGroup.setSubjectIdList(subjectId.toString());
 | 
	
		
			
				|  |  |  			classGroup.setName(groupName);
 | 
	
		
			
				|  |  |  			classGroup.setSubjectIdList(subjectId.toString());
 | 
	
		
			
				|  |  |  			classGroupDao.update(classGroup);
 | 
	
		
			
				|  |  |  			courseScheduleDao.updateCourseNameByGroup(practiceGroupId,GroupType.PRACTICE,groupName);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		practiceGroupDao.update(practiceGroup);
 | 
	
		
			
				|  |  |          classGroupTeacherMapperService.updateTeacher(practiceGroupId,teacherId,GroupType.PRACTICE.getCode());
 | 
	
		
			
				|  |  |          classGroupTeacherSalaryDao.updateTeacher(practiceGroupId,teacherId,GroupType.PRACTICE.getCode());
 | 
	
		
			
				|  |  |          practiceGroupDao.updateUserId(practiceGroupId,teacherId);
 |