|  | @@ -1,15 +1,129 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.GroupType.COMM;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
 | 
	
		
			
				|  |  | +import static com.ym.mec.biz.dal.enums.GroupType.VIP;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.math.BigDecimal;
 | 
	
		
			
				|  |  | +import java.time.Duration;
 | 
	
		
			
				|  |  | +import java.time.Instant;
 | 
	
		
			
				|  |  | +import java.time.LocalDate;
 | 
	
		
			
				|  |  | +import java.time.LocalDateTime;
 | 
	
		
			
				|  |  | +import java.time.ZoneId;
 | 
	
		
			
				|  |  | +import java.time.format.DateTimeFormatter;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.Arrays;
 | 
	
		
			
				|  |  | +import java.util.Calendar;
 | 
	
		
			
				|  |  | +import java.util.Collections;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  | +import java.util.HashSet;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.util.Set;
 | 
	
		
			
				|  |  | +import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Propagation;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | +import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dao.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dto.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.enums.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.page.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.service.*;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.ClassGroupDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.ClassGroupRelationDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.CourseScheduleEvaluateDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.CoursesGroupDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.GroupDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.MusicGroupDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.PracticeGroupDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.SchoolDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.StudentApplyRefundsDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.StudentDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.SubjectDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.SysConfigDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.TeacherDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.VipGroupDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.ClassGroupImGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.ClassGroupTeacherMapDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CourseListDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CourseTimeDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.HighClassGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicGroupClassGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.RemainCourseTypeDurationDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.StudentPayInfoDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.SuperClassGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherClassGroupDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherClassHeadInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherMusicClassInfoDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherVipClassInfoDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.UserMusicGroupQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.ClassGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.ClassGroupRelation;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CoursesGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Group;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.MusicGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.PracticeGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.StudentRegistration;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Subject;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.SysConfig;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.VipGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 | 
	
		
			
				|  |  | +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.SalarySettlementTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.TeachModeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.TeacherMusicClassQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ClassGroupRelationService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.ClassGroupService;
 | 
	
		
			
				|  |  | +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.StudentRegistrationService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SubjectService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysConfigService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.constant.CommonConstants;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.entity.ImGroupMember;
 | 
	
	
		
			
				|  | @@ -26,21 +140,6 @@ import com.ym.mec.util.collection.MapUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.date.DateConvertor;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.date.DateUtil;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | -import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | -import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | -import org.springframework.transaction.annotation.Propagation;
 | 
	
		
			
				|  |  | -import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | -import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -import java.math.BigDecimal;
 | 
	
		
			
				|  |  | -import java.time.*;
 | 
	
		
			
				|  |  | -import java.time.format.DateTimeFormatter;
 | 
	
		
			
				|  |  | -import java.util.*;
 | 
	
		
			
				|  |  | -import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -import static com.ym.mec.biz.dal.enums.GroupType.*;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1032,6 +1131,93 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +	public boolean addStudentToClassGroupAndCourseArranging(Integer studentId, String classGroupIdListStr) {
 | 
	
		
			
				|  |  | +    	
 | 
	
		
			
				|  |  | +    	List<ClassGroup> classGroupList = classGroupDao.findClassGroupByIds(classGroupIdListStr);
 | 
	
		
			
				|  |  | +    	if(classGroupList == null || classGroupList.size() == 0){
 | 
	
		
			
				|  |  | +    		throw new BizException("班级查询失败");
 | 
	
		
			
				|  |  | +    	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Date date = new Date();
 | 
	
		
			
				|  |  | +        List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<CourseScheduleStudentPayment>();
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +    	for(ClassGroup classGroup : classGroupList){
 | 
	
		
			
				|  |  | +    		//1、增加班级人数
 | 
	
		
			
				|  |  | +    		classGroupDao.addStudentNum(classGroup);
 | 
	
		
			
				|  |  | +    		
 | 
	
		
			
				|  |  | +    		//2、插入关联关系
 | 
	
		
			
				|  |  | +    		ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
 | 
	
		
			
				|  |  | +            classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  | +            classGroupStudentMapper.setClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  | +            classGroupStudentMapper.setUserId(studentId);
 | 
	
		
			
				|  |  | +            classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
 | 
	
		
			
				|  |  | +            classGroupStudentMapper.setGroupType(classGroup.getGroupType());
 | 
	
		
			
				|  |  | +            classGroupStudentMapper.setCreateTime(date);
 | 
	
		
			
				|  |  | +            classGroupStudentMapperDao.insert(classGroupStudentMapper);
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +            //3、学生加入级未开始课程
 | 
	
		
			
				|  |  | +            List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  | +            for (CourseSchedule courseSchedule : courseScheduleList) {
 | 
	
		
			
				|  |  | +                CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setGroupType(classGroup.getGroupType());
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setMusicGroupId(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setUserId(studentId);
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setCreateTime(date);
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayment.setUpdateTime(date);
 | 
	
		
			
				|  |  | +                courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            List<Long> courseScheduleIds = courseScheduleList.stream().map(CourseSchedule::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            //4、调整线上基础技能班未上课课酬
 | 
	
		
			
				|  |  | +            List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperService.getClassGroupTeachers(classGroup.getId());
 | 
	
		
			
				|  |  | +            int hasTeacherSalaryCount = 0;
 | 
	
		
			
				|  |  | +            if (courseScheduleIds.size() > 0) {
 | 
	
		
			
				|  |  | +                hasTeacherSalaryCount = courseScheduleTeacherSalaryDao.getHasTeacherSalaryCount(courseScheduleIds);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) && hasTeacherSalaryCount > 0) {
 | 
	
		
			
				|  |  | +                Integer studentNum = classGroup.getStudentNum() + 1;
 | 
	
		
			
				|  |  | +                List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
 | 
	
		
			
				|  |  | +                courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
 | 
	
		
			
				|  |  | +                for (CourseSchedule courseSchedule : courseScheduleList) {
 | 
	
		
			
				|  |  | +                    for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
 | 
	
		
			
				|  |  | +                        List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacher.getUserId(), ClassGroupTypeEnum.HIGH_ONLINE.getCode(), null);
 | 
	
		
			
				|  |  | +                        Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
 | 
	
		
			
				|  |  | +                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(courseSchedule.getType());
 | 
	
		
			
				|  |  | +                        BigDecimal salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum.toString());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setTeacherRole(classGroupTeacher.getTeacherRole());
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setUserId(classGroupTeacher.getUserId());
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setExpectSalary(salary);
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setCreateTime(date);
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalary.setUpdateTime(date);
 | 
	
		
			
				|  |  | +                        courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //5、加入班级群组
 | 
	
		
			
				|  |  | +            ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(studentId.toString())};
 | 
	
		
			
				|  |  | +            imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (courseScheduleStudentPayments.size() != 0) {
 | 
	
		
			
				|  |  | +            courseScheduleStudentPaymentService.batchInsert(courseScheduleStudentPayments);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    	return true;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  |      public List<ClassGroup> findNoClassSubjects(String musicGroupId) {
 | 
	
		
			
				|  |  |          return classGroupDao.findNoClassSubjects(musicGroupId);
 | 
	
		
			
				|  |  |      }
 |