|
@@ -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());
|