|  | @@ -330,6 +330,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		for (Integer studentId : studentIds) {
 | 
	
		
			
				|  |  |  			List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = null;
 | 
	
		
			
				|  |  | +			BigDecimal typeCourseTotalOriginalPrice = new BigDecimal("0"), typeCourseTotalCurrentPrice = new BigDecimal("0");
 | 
	
		
			
				|  |  |  			for (int i = 0; i < courseSchedules.size(); i++) {
 | 
	
		
			
				|  |  |  				CourseSchedule courseSchedule = courseSchedules.get(i);
 | 
	
		
			
				|  |  |  				//优先处理之前的剩余课程
 | 
	
	
		
			
				|  | @@ -367,14 +368,17 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 | 
	
		
			
				|  |  |  				MusicGroupPaymentCalenderCourseSettings courseSetting = musicGroupPaymentCalenderCourseSettings.get(0);
 | 
	
		
			
				|  |  |  				//课程每分钟原价
 | 
	
		
			
				|  |  |  				BigDecimal unitMinuteOriginalPrice = courseSetting.getCourseOriginalPrice().divide(new BigDecimal(courseSetting.getCourseTotalMinuties()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_DOWN);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  				//课程每分钟现价
 | 
	
		
			
				|  |  |  				BigDecimal unitMinuteCurrentPrice = courseSetting.getCourseCurrentPrice().divide(new BigDecimal(courseSetting.getCourseTotalMinuties()), CommonConstants.DECIMAL_FINAL_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, BigDecimal.ROUND_DOWN);
 | 
	
		
			
				|  |  | +				typeCourseTotalOriginalPrice = typeCourseTotalOriginalPrice.add(courseOriginalPrice);
 | 
	
		
			
				|  |  |  				//课程现价
 | 
	
		
			
				|  |  |  				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());
 | 
	
		
			
				|  |  |  				cssp.setMusicGroupId(courseSchedule.getMusicGroupId());
 | 
	
	
		
			
				|  | @@ -382,9 +386,14 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 | 
	
		
			
				|  |  |  				cssp.setClassGroupId(courseSchedule.getClassGroupId());
 | 
	
		
			
				|  |  |  				cssp.setBatchNo(batchNo);
 | 
	
		
			
				|  |  |  				cssp.setUserId(studentId);
 | 
	
		
			
				|  |  | -				cssp.setOriginalPrice(courseOriginalPrice);
 | 
	
		
			
				|  |  | -				cssp.setExpectPrice(courseCurrentPrice);
 | 
	
		
			
				|  |  |  				cssp.setActualPrice(BigDecimal.ZERO);
 | 
	
		
			
				|  |  | +				if(courseSchedules.size() - 1 == i){
 | 
	
		
			
				|  |  | +					cssp.setOriginalPrice(courseOriginalPrice.add(courseSetting.getCourseOriginalPrice().subtract(typeCourseTotalOriginalPrice)));
 | 
	
		
			
				|  |  | +					cssp.setExpectPrice(courseCurrentPrice.add(courseSetting.getCourseCurrentPrice().subtract(typeCourseTotalCurrentPrice)));
 | 
	
		
			
				|  |  | +				}else {
 | 
	
		
			
				|  |  | +					cssp.setOriginalPrice(courseOriginalPrice);
 | 
	
		
			
				|  |  | +					cssp.setExpectPrice(courseCurrentPrice);
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  				courseScheduleStudentPayments.add(cssp);
 | 
	
		
			
				|  |  |  				//获取课程类型默认排课时长
 | 
	
		
			
				|  |  |  				int typeCourseDuration = Integer.parseInt(jsonObject.get(courseSchedule.getType().getCode()).toString());
 |