| 
					
				 | 
			
			
				@@ -1316,6 +1316,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public void appendVipGroupCourseSchedules(VipGroupApplyDto vipGroupApplyDto) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(vipGroupApplyDto.getVipGroupApplyBaseInfo().getId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("请指定vip课"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1324,7 +1325,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(Objects.isNull(vipGroup)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			throw new BizException("指定的vip课不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId(), null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//课程信息调整 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		vipGroupApplyDto.getCourseSchedules().forEach(courseSchedule -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			courseSchedule.setSchoolId(vipGroup.getTeacherSchoolId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1332,17 +1333,40 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			courseSchedule.setActualTeacherId(vipGroup.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			courseSchedule.setStatus(CourseStatusEnum.NOT_START); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			courseSchedule.setClassGroupId(vipGroupClassGroupMapper.getClassGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			courseSchedule.setClassGroupId(classGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		courseScheduleService.batchAddCourseSchedule(vipGroupApplyDto.getCourseSchedules()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(vipGroup.getUserId(), vipGroup.getVipGroupCategoryId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		BigDecimal onlineTeacherSalary=new BigDecimal(0),offlineTeacherSalary=new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(Objects.nonNull(byTeacherAndCategory)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			onlineTeacherSalary=byTeacherAndCategory.getOnlineClassesSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			offlineTeacherSalary=byTeacherAndCategory.getOfflineClassesSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), vipGroup.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			onlineTeacherSalary=classGroupTeacherSalary.getOnlineClassesSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			offlineTeacherSalary=classGroupTeacherSalary.getSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//创建老师单节课课酬信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroup, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				vipGroupApplyDto.getCourseSchedules(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				byTeacherAndCategory.getOnlineClassesSalary(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				byTeacherAndCategory.getOfflineClassesSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				onlineTeacherSalary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				offlineTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ImGroupMember> imGroupMemberList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//生成学生单课缴费信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroup.getId(),classGroupStudent.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			imGroupMemberList.add(new ImGroupMember(classGroupStudent.getUserId().toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imGroupMembers, classGroup.getName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 |