zouxuan 4 ay önce
ebeveyn
işleme
180fa5e670

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java

@@ -71,7 +71,7 @@ public interface CourseScheduleStudentPaymentService extends BaseService<Long, C
 	 * @param studentIds: 课程学员列表
 	 * @return void
 	 */
-	void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds,Map<Long, BigDecimal> salaryMap);
+	void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds);
 
 	/**
 	 * @describe 创建课程缴费记录-会员乐团
@@ -92,7 +92,7 @@ public interface CourseScheduleStudentPaymentService extends BaseService<Long, C
 	 * @param studentIds: 课程学员列表
 	 * @return void
 	 */
-	void createForMusicGroup(List<CourseSchedule> courseSchedules, List<Integer> studentIds,Integer musicGroupStudentClassAdjustId,Map<Long,BigDecimal> salaryMap);
+	void createForMusicGroup(List<CourseSchedule> courseSchedules, List<Integer> studentIds,Integer musicGroupStudentClassAdjustId);
 
 	/**
 	 * 获取班级未开始的的课程

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

@@ -619,12 +619,12 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             }
             courseScheduleTeacherSalaryService.batchInsert(oldCourseSalaries);
             if (!CollectionUtils.isEmpty(addStudentIds)) {
-                Map<Long,BigDecimal> salaryMap = new HashMap<>();
+                /*Map<Long,BigDecimal> salaryMap = new HashMap<>();
                 if (org.apache.commons.collections.CollectionUtils.isNotEmpty(oldCourseSalaries)) {
                     salaryMap = oldCourseSalaries.stream()
                             .collect(Collectors.toMap(CourseScheduleTeacherSalary::getCourseScheduleId, CourseScheduleTeacherSalary::getExpectSalary));
-                }
-                courseScheduleStudentPaymentService.createForMusicGroup(classGroup.getMusicGroupId(), classGroupNotStartCourse, new ArrayList<>(addStudentIds),salaryMap);
+                }*/
+                courseScheduleStudentPaymentService.createForMusicGroup(classGroup.getMusicGroupId(), classGroupNotStartCourse, new ArrayList<>(addStudentIds));
                 studentDao.updateStudentServiceTag(null, new ArrayList<>(addStudentIds), YesOrNoEnum.YES.getCode());
             }
         }

+ 67 - 111
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -10,7 +10,10 @@ import com.ym.mec.biz.dal.dto.VipGroupGiveCourseSortDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseScheduleStudentPaymentQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
+import com.ym.mec.biz.service.OperatingReportCloudService;
+import com.ym.mec.biz.service.StudentRegistrationService;
+import com.ym.mec.biz.service.SysUserCashAccountService;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -19,12 +22,13 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.beanutils.BeanUtils;
-import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
@@ -56,8 +60,6 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 	@Autowired
 	private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
 	@Autowired
-	private MusicGroupPaymentStudentCourseDetailLogService musicGroupPaymentStudentCourseDetailLogService;
-	@Autowired
 	private TeacherDao teacherDao;
 	@Autowired
 	private StudentAttendanceDao studentAttendanceDao;
@@ -79,12 +81,12 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		return courseScheduleStudentPaymentDao;
 	}
 
-    @Override
-    public CourseScheduleStudentPaymentDao getDao() {
-        return courseScheduleStudentPaymentDao;
-    }
+	@Override
+	public CourseScheduleStudentPaymentDao getDao() {
+		return courseScheduleStudentPaymentDao;
+	}
 
-    @Override
+	@Override
 	public int createCourseScheduleStudentPaymentForVipGroup(Long vipGroupId, Integer userId) {
 		VipGroup vipGroup = vipGroupDao.get(vipGroupId);
 
@@ -121,44 +123,44 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 			List<CourseSchedule> courseSchedules = courseScheduleGroupByTeachMode.get(teachModeEnum)
 					.stream()
 					.sorted(Comparator.comparing(CourseSchedule::getStartClassTime)).collect(Collectors.toList());
-            for (CourseSchedule courseSchedule : courseSchedules) {
-                //创建学生课程应缴费记录
-                CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
-                courseScheduleStudentPayment.setUserId(userId);
-                courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
-                courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
-                courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
-                courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
-
-                if (teachModeEnum == TeachModeEnum.ONLINE) {
-                    //学生线上单节课应缴费计算
-                    courseScheduleStudentPayment.setExpectPrice(
-                            vipGroup.getOnlineClassesUnitPrice().multiply(vipGroupActivity.getDiscount())
-                                    .divide(new BigDecimal(100), CommonConstants.DECIMAL_FINAL_PLACE, RoundingMode.HALF_UP)
-                                    .subtract(couponFee));
-                } else {
-                    //学生线下单节课应缴费计算
-                    courseScheduleStudentPayment.setExpectPrice(
-                            vipGroup.getOfflineClassesUnitPrice().multiply(vipGroupActivity.getDiscount())
-                                    .divide(new BigDecimal(100), CommonConstants.DECIMAL_FINAL_PLACE, RoundingMode.HALF_UP)
-                                    .subtract(couponFee));
-                }
-                courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(teachModeEnum) ? vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice() : vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
-                courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
-                courseScheduleStudentPayments.add(courseScheduleStudentPayment);
-            }
+			for(int i=0;i<courseSchedules.size();i++) {
+				//创建学生课程应缴费记录
+				CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
+				courseScheduleStudentPayment.setUserId(userId);
+				courseScheduleStudentPayment.setGroupType(courseSchedules.get(i).getGroupType());
+				courseScheduleStudentPayment.setMusicGroupId(courseSchedules.get(i).getMusicGroupId());
+				courseScheduleStudentPayment.setCourseScheduleId(courseSchedules.get(i).getId());
+				courseScheduleStudentPayment.setClassGroupId(courseSchedules.get(i).getClassGroupId());
+
+				if (teachModeEnum == TeachModeEnum.ONLINE) {
+					//学生线上单节课应缴费计算
+					courseScheduleStudentPayment.setExpectPrice(
+							vipGroup.getOnlineClassesUnitPrice().multiply(vipGroupActivity.getDiscount())
+									.divide(new BigDecimal(100), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP)
+									.subtract(couponFee));
+				}else{
+					//学生线下单节课应缴费计算
+					courseScheduleStudentPayment.setExpectPrice(
+							vipGroup.getOfflineClassesUnitPrice().multiply(vipGroupActivity.getDiscount())
+									.divide(new BigDecimal(100), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP)
+									.subtract(couponFee));
+				}
+				courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(teachModeEnum)?vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice():vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
+				courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
+				courseScheduleStudentPayments.add(courseScheduleStudentPayment);
+			}
 		}
 		return courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 	}
 
-    @Override
-    public int deleteStudentCourseSchedule(Integer userId, List<CourseSchedule> courseScheduleList) {
-		if(CollectionUtils.isEmpty(courseScheduleList)){
+	@Override
+	public int deleteStudentCourseSchedule(Integer userId, List<CourseSchedule> courseScheduleList) {
+		if(courseScheduleList.size() == 0){
 			return 0;
 		}
 		List<Long> courseScheduleIdList = courseScheduleList.stream().map(CourseSchedule :: getId).collect(Collectors.toList());
 		return courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(userId,courseScheduleIdList);
-    }
+	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -241,7 +243,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		List<VipGroupGiveCourseSortDto> vipGroupSortCourseByGroup = courseScheduleStudentPaymentDao.findVipGroupSortCourseByGroup(vipGroupId.toString());
 		Map<Integer, List<VipGroupGiveCourseSortDto>> userCourseMap = vipGroupSortCourseByGroup.stream().collect(Collectors.groupingBy(VipGroupGiveCourseSortDto::getUserId));
 
-        BigDecimal zero = new BigDecimal("0.00");
+		BigDecimal zero = new BigDecimal("0.00");
 
 		List<CourseScheduleStudentPayment> needUpdatePayments=new ArrayList<>();
 		for (Map.Entry<Integer, List<VipGroupGiveCourseSortDto>> integerListEntry : userCourseMap.entrySet()) {
@@ -284,7 +286,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void createForMusicGroup(List<CourseSchedule> courseSchedules, List<Integer> studentIds,Integer musicGroupStudentClassAdjustId,Map<Long,BigDecimal> salaryMap) {
+	public void createForMusicGroup(List<CourseSchedule> courseSchedules, List<Integer> studentIds,Integer musicGroupStudentClassAdjustId) {
 		//获取提交的合班申请
 		MusicGroupStudentClassAdjust classAdjust = musicGroupStudentClassAdjustDao.get(musicGroupStudentClassAdjustId);
 		List<Long> studentPaymentIds = JSON.parseArray(classAdjust.getStudentPaymentIds(), Long.class);
@@ -295,19 +297,18 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 //		String courseDefaultMinutes = sysConfigDao.findConfigValue("music_course_default_minutes");
 		JSONObject jsonObject = JSON.parseObject(classAdjust.getDefaultCourseTypeMinute());
 		List<CourseScheduleStudentPayment> totalCourseScheduleStudentPayments = new ArrayList<>();
-		List<MusicGroupPaymentStudentCourseDetailLog> musicGroupPaymentStudentCourseDetailLogs = new ArrayList<>();
 		for (Integer studentId : studentIds) {
 			List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = null;
 			BigDecimal typeCourseTotalOriginalPrice = new BigDecimal("0"), typeCourseTotalCurrentPrice = new BigDecimal("0");
-//			List<CourseScheduleStudentPayment> oldCourseScheduleStudentPayments = new ArrayList<>();
+			List<CourseScheduleStudentPayment> oldCourseScheduleStudentPayments = new ArrayList<>();
 			List<CourseScheduleStudentPayment> newCourseScheduleStudentPayments = new ArrayList<>();
 			for (int i = 0; i < courseSchedules.size(); i++) {
 				CourseSchedule courseSchedule = courseSchedules.get(i);
 				//优先处理之前的剩余课程
 				//获取调班之前,学员剩余的课程列表
-				if(CollectionUtils.isNotEmpty(studentPaymentIds)){
+				if(studentPaymentIds != null && studentPaymentIds.size() > 0){
 					List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentDao.queryByIdsAndStudentId(studentPaymentIds,studentId,courseSchedule.getType().getCode());
-					if(CollectionUtils.isNotEmpty(studentPayments)){
+					if(studentPayments != null && studentPayments.size() > 0){
 						CourseScheduleStudentPayment studentPayment = new CourseScheduleStudentPayment();
 						try {
 							BeanUtils.copyProperties(studentPayment, studentPayments.get(0));
@@ -321,7 +322,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 						studentPayment.setSettlementTime(null);
 						studentPayment.setExamSongDownloadJson(null);
 						studentPayment.setId(null);
-//						oldCourseScheduleStudentPayments.add(studentPayment);
+						oldCourseScheduleStudentPayments.add(studentPayment);
 						totalCourseScheduleStudentPayments.add(studentPayment);
 						continue ;
 					}
@@ -330,7 +331,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				if(musicGroupPaymentStudentCourseDetails == null){
 					musicGroupPaymentStudentCourseDetails = musicGroupPaymentStudentCourseDetailDao.getUnUseWithStudentAndCourseTypeAndCourseMinutes(studentId,courseSchedule.getType(),courseSchedule.getMusicGroupId());
 				}
-				if(CollectionUtils.isEmpty(musicGroupPaymentStudentCourseDetails)){
+				if(musicGroupPaymentStudentCourseDetails == null || musicGroupPaymentStudentCourseDetails.size() == 0){
 					throw new BizException("学员缴费详情获取失败");
 				}
 				//获取合班时的缴费项目
@@ -338,17 +339,17 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalendersAndCourseType(calenderIds, courseSchedule.getType());
 				MusicGroupPaymentCalenderCourseSettings courseSetting = musicGroupPaymentCalenderCourseSettings.get(0);
 				//课程每分钟原价
-				BigDecimal unitMinuteOriginalPrice = courseSetting.getCourseOriginalPrice().divide(new BigDecimal(courseSetting.getCourseTotalMinuties()), CommonConstants.DECIMAL_PLACE, RoundingMode.DOWN);
+				BigDecimal unitMinuteOriginalPrice = courseSetting.getCourseOriginalPrice().divide(new BigDecimal(courseSetting.getCourseTotalMinuties()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
 
 				//课程每分钟现价
-				BigDecimal unitMinuteCurrentPrice = courseSetting.getOverflowCoursePrice().divide(new BigDecimal(courseSetting.getCourseTotalMinuties()), CommonConstants.DECIMAL_PLACE, RoundingMode.DOWN);
+				BigDecimal unitMinuteCurrentPrice = courseSetting.getOverflowCoursePrice().divide(new BigDecimal(courseSetting.getCourseTotalMinuties()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
 
 				//默认课程时长
 				int courseDuration = Integer.parseInt(jsonObject.get(courseSchedule.getType().getCode()).toString());
-				BigDecimal courseOriginalPrice = unitMinuteOriginalPrice.multiply(new BigDecimal(courseDuration)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, RoundingMode.DOWN);
+				BigDecimal courseOriginalPrice = unitMinuteOriginalPrice.multiply(new BigDecimal(courseDuration)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN);
 				typeCourseTotalOriginalPrice = typeCourseTotalOriginalPrice.add(courseOriginalPrice);
 				//课程现价
-				BigDecimal courseCurrentPrice = unitMinuteCurrentPrice.multiply(new BigDecimal(courseDuration)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, RoundingMode.DOWN);
+				BigDecimal courseCurrentPrice = unitMinuteCurrentPrice.multiply(new BigDecimal(courseDuration)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN);
 				typeCourseTotalCurrentPrice = typeCourseTotalCurrentPrice.add(courseCurrentPrice);
 				CourseScheduleStudentPayment cssp = new CourseScheduleStudentPayment();
 				cssp.setGroupType(courseSchedule.getGroupType());
@@ -371,33 +372,16 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				}
 				//获取课程类型默认排课时长
 				int typeCourseDuration = Integer.parseInt(jsonObject.get(courseSchedule.getType().getCode()).toString());
-				Map<Long,MusicGroupPaymentStudentCourseDetailLog> courseDetailLogsMap = musicGroupPaymentStudentCourseDetailLogs
-						.stream().collect(Collectors.toMap(MusicGroupPaymentStudentCourseDetailLog::getMusicGroupPaymentStudentCourseDetailId, a -> a,(k1,k2)->k1));
 				for (MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail : musicGroupPaymentStudentCourseDetails) {
-					MusicGroupPaymentStudentCourseDetailLog detailLog = courseDetailLogsMap.get(musicGroupPaymentStudentCourseDetail.getId());
-					if(detailLog == null){
-						detailLog = new MusicGroupPaymentStudentCourseDetailLog();
-						musicGroupPaymentStudentCourseDetailLogs.add(detailLog);
-						detailLog.setMusicGroupPaymentStudentCourseDetailId(musicGroupPaymentStudentCourseDetail.getId());
-						detailLog.setClassGroupId(courseSchedule.getClassGroupId());
-						detailLog.setCourseType(courseSchedule.getType().getCode());
-					}
-					detailLog.setCourseNum(detailLog.getCourseNum() + 1);
-					detailLog.setCoursePrice(detailLog.getCoursePrice().add(courseCurrentPrice));
-					detailLog.setCourseSalary(detailLog.getCourseSalary().add(salaryMap.get(courseSchedule.getId()) == null ? BigDecimal.ZERO : salaryMap.get(courseSchedule.getId())));
 					if(typeCourseDuration > musicGroupPaymentStudentCourseDetail.getTotalCourseMinutes()){
-						detailLog.setUsedCourseMinutes(detailLog.getUsedCourseMinutes() + musicGroupPaymentStudentCourseDetail.getTotalCourseMinutes());
 						musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(musicGroupPaymentStudentCourseDetail.getTotalCourseMinutes());
 					}else{
-						detailLog.setUsedCourseMinutes(detailLog.getUsedCourseMinutes() + typeCourseDuration);
 						musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(musicGroupPaymentStudentCourseDetail.getUsedCourseMinutes() + typeCourseDuration);
 					}
 				}
 			}
-			if(CollectionUtils.isNotEmpty(musicGroupPaymentStudentCourseDetails)){
+			if(musicGroupPaymentStudentCourseDetails != null && musicGroupPaymentStudentCourseDetails.size() > 0){
 				musicGroupPaymentStudentCourseDetailDao.batchUpdate(musicGroupPaymentStudentCourseDetails);
-				//保存排课日志
-				musicGroupPaymentStudentCourseDetailLogService.saveBatch(musicGroupPaymentStudentCourseDetailLogs);
 			}
 		}
 		courseScheduleStudentPaymentDao.batchInsert(totalCourseScheduleStudentPayments);
@@ -406,12 +390,12 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 	@Override
 	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
-	public void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds,Map<Long,BigDecimal> salaryMap) {
+	public void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds) {
 		Map<Integer, List<CourseSchedule>> memberCourseMap = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getMemberFlag));
 		Map<Long,List<Long>> courseCalenderMap = new HashMap<>(10);
 		for (Integer memberFlag : memberCourseMap.keySet()) {
 			List<CourseSchedule> courseScheduleList = memberCourseMap.get(memberFlag);
-			if(CollectionUtils.isNotEmpty(courseScheduleList)){
+			if(courseScheduleList != null && courseScheduleList.size() > 0){
 				if(memberFlag == 1){
 					createForMemberMusicGroup(musicGroupId,courseScheduleList,studentIds);
 				}else {
@@ -469,7 +453,6 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 							List<CourseScheduleStudentPayment> typeCourseStudentPayments = new ArrayList<>();
 							courseScheduleTypeListEntry.getValue().sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 							List<CourseSchedule> scheduleList = courseScheduleTypeListEntry.getValue();
-							List<MusicGroupPaymentStudentCourseDetailLog> musicGroupPaymentStudentCourseDetailLogs = new ArrayList<>();
 							for (CourseSchedule courseSchedule : scheduleList) {
 								if(existCourseIds.contains(courseSchedule.getId())){
 									throw new BizException("该学员已在此班级{}课程中", courseSchedule.getId());
@@ -480,22 +463,18 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 								cssp.setUserId(studentId);
 								//扣除可排课时长
 								//处理经营报表
-								this.calcCourseMinutes(musicGroupPaymentStudentCourseDetails,courseDuration,
-										cssp,musicGroupPaymentCalenders,courseCalenderMap,musicGroupPaymentStudentCourseDetailLogs,
-										salaryMap.get(courseSchedule.getId()),courseSchedule);
+								this.calcCourseMinutes(musicGroupPaymentStudentCourseDetails,courseDuration,cssp,musicGroupPaymentCalenders,courseCalenderMap);
 								typeCourseStudentPayments.add(cssp);
 							}
 							courseScheduleStudentPayments.addAll(typeCourseStudentPayments);
 							musicGroupPaymentStudentCourseDetailDao.batchUpdate(musicGroupPaymentStudentCourseDetails);
-							//记录排课日志
-							musicGroupPaymentStudentCourseDetailLogService.saveBatch(musicGroupPaymentStudentCourseDetailLogs);
 						}
 					}
 					courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 				}
 			}
 		}
-		if(!courseCalenderMap.isEmpty()){
+		if(!CollectionUtils.isEmpty(courseCalenderMap)){
 			for (Long calenderId : courseCalenderMap.keySet()) {
 				List<Long> courseIds = courseCalenderMap.get(calenderId);
 				operatingReportCloudService.updateSet(calenderId,courseIds);
@@ -503,38 +482,22 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		}
 	}
 
-	private void calcCourseMinutes(List<MusicGroupPaymentStudentCourseDetail> courseDetails,
-								   Integer courseDuration,
-								   CourseScheduleStudentPayment studentPayment,
-								   List<MusicGroupPaymentCalender> musicGroupPaymentCalenders,
-								   Map<Long,List<Long>> courseCalenderMap,
-								   List<MusicGroupPaymentStudentCourseDetailLog> musicGroupPaymentStudentCourseDetailLogs, BigDecimal salary, CourseSchedule courseSchedule){
+	private Boolean calcCourseMinutes(List<MusicGroupPaymentStudentCourseDetail> courseDetails,
+									  Integer courseDuration,
+									  CourseScheduleStudentPayment studentPayment,
+									  List<MusicGroupPaymentCalender> musicGroupPaymentCalenders,
+									  Map<Long,List<Long>> courseCalenderMap){
 		Boolean result = true;
 		Integer courseMinutes = courseDuration;
 		Map<Long, List<MusicGroupPaymentCalender>> calenderMap = musicGroupPaymentCalenders.stream().collect(Collectors.groupingBy(MusicGroupPaymentCalender::getId));
-		Map<Long, MusicGroupPaymentStudentCourseDetailLog> courseDetailLogMap = musicGroupPaymentStudentCourseDetailLogs.stream().
-				collect(Collectors.toMap(MusicGroupPaymentStudentCourseDetailLog::getMusicGroupPaymentStudentCourseDetailId, a -> a, (k1, k2) -> k1));
 		for (int i = 0; i < courseDetails.size(); i++) {
 			MusicGroupPaymentStudentCourseDetail detail = courseDetails.get(i);
-			MusicGroupPaymentStudentCourseDetailLog detailLog = courseDetailLogMap.get(detail.getId());
 			if(detail.getSubCourseMinutes() > 0){
 				if(!detail.getCloudTeacherPaymentFlag()){
 					result = false;
 				}
-				if (detailLog == null){
-					detailLog = new MusicGroupPaymentStudentCourseDetailLog();
-					detailLog.setMusicGroupPaymentStudentCourseDetailId(detail.getId());
-					detailLog.setClassGroupId(courseSchedule.getClassGroupId());
-					detailLog.setCourseType(courseSchedule.getType().getCode());
-					musicGroupPaymentStudentCourseDetailLogs.add(detailLog);
-				}
 				if(courseMinutes >= detail.getSubCourseMinutes()){
 					courseMinutes = courseMinutes - detail.getSubCourseMinutes();
-					//记录排课日志
-					detailLog.setCourseNum(detailLog.getCourseNum() + 1);
-					detailLog.setCoursePrice(detailLog.getCoursePrice().add(detail.getSubCourseCurrentPrice()));
-					detailLog.setUsedCourseMinutes(detailLog.getUsedCourseMinutes() + detail.getSubCourseMinutes());
-
 					detail.setUsedCourseMinutes(detail.getUsedCourseMinutes() + detail.getSubCourseMinutes());
 					detail.setSubCourseMinutes(0);
 					studentPayment.setOriginalPrice(studentPayment.getOriginalPrice().add(detail.getSubCourseOriginalPrice()));
@@ -542,10 +505,6 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 					detail.setSubCourseCurrentPrice(BigDecimal.ZERO);
 					detail.setSubCourseOriginalPrice(BigDecimal.ZERO);
 				}else{
-					//记录排课日志
-					detailLog.setCourseNum(detailLog.getCourseNum() + 1);
-					detailLog.setUsedCourseMinutes(detailLog.getUsedCourseMinutes() + courseMinutes);
-
 					detail.setUsedCourseMinutes(detail.getUsedCourseMinutes() + courseMinutes);
 					detail.setSubCourseMinutes(detail.getSubCourseMinutes() - courseMinutes);
 					//课程每分钟现价
@@ -556,9 +515,6 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 					studentPayment.setOriginalPrice(studentPayment.getOriginalPrice().add(originalPrice));
 					studentPayment.setExpectPrice(studentPayment.getExpectPrice().add(expectPrice));
 					detail.setSubCourseCurrentPrice(detail.getSubCourseCurrentPrice().subtract(expectPrice));
-					//记录排课日志
-					detailLog.setCoursePrice(detailLog.getCoursePrice().add(expectPrice));
-
 					detail.setSubCourseOriginalPrice(detail.getSubCourseOriginalPrice().subtract(originalPrice));
 					courseMinutes = 0;
 				}
@@ -584,14 +540,14 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 //					operatingReportCloudService.updateSet(calender,courseIds);
 				}
 				if(courseMinutes == 0){
-					detailLog.setCourseSalary(detailLog.getCourseSalary().add(salary == null?BigDecimal.ZERO:salary));
-					return;
+					return result;
 				}
 			}
 			if(i == courseDetails.size() - 1 && courseMinutes > 0){
 				throw new BizException("操作失败:学员可排课时长不足");
 			}
 		}
+		return result;
 	}
 
 
@@ -790,9 +746,9 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		return studentPayments;
 	}
 
-    @Override
+	@Override
 	@Transactional(rollbackFor = Exception.class)
-    public void splitStudentPayment(List<CourseScheduleStudentPayment> courseScheduleStudentPayments,List<CourseScheduleStudentPayment> oldStudentPayments) {
+	public void splitStudentPayment(List<CourseScheduleStudentPayment> courseScheduleStudentPayments,List<CourseScheduleStudentPayment> oldStudentPayments) {
 		Map<Integer, BigDecimal> studentExpectPrice = oldStudentPayments.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.stream().map(e -> e.getExpectPrice()).reduce(BigDecimal.ZERO, BigDecimal::add))));
 		Map<Integer, BigDecimal> studentOriginalPrice = oldStudentPayments.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.stream().map(e -> e.getOriginalPrice()).reduce(BigDecimal.ZERO, BigDecimal::add))));
 		Map<Integer, List<CourseScheduleStudentPayment>> paymentMap = courseScheduleStudentPayments.stream().collect(Collectors.groupingBy(CourseScheduleStudentPayment::getUserId));
@@ -818,7 +774,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 			}
 		}
 		courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
-    }
+	}
 
 	@Override
 	public CourseScheduleStudentPayment init(CourseSchedule courseSchedule) {