|
@@ -687,7 +687,11 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
|
|
return this.use(activityUserMappers, freeActivityUserMappers, courseNum,groupId,studentIdList);
|
|
return this.use(activityUserMappers, freeActivityUserMappers, courseNum,groupId,studentIdList);
|
|
}
|
|
}
|
|
|
|
|
|
- private void getStudentPayment(Integer userId,BigDecimal totalAmount,Integer courseNum,List<CourseScheduleStudentPayment> courseScheduleStudentPayments){
|
|
|
|
|
|
+ private void getStudentPayment(Integer userId,
|
|
|
|
+ BigDecimal totalAmount,
|
|
|
|
+ Integer courseNum,
|
|
|
|
+ List<CourseScheduleStudentPayment> courseScheduleStudentPayments,
|
|
|
|
+ Integer activityUserMapperId){
|
|
//实际支付金额,去除优惠券
|
|
//实际支付金额,去除优惠券
|
|
BigDecimal singleAmount = totalAmount.divide(new BigDecimal(courseNum), ROUND_DOWN);
|
|
BigDecimal singleAmount = totalAmount.divide(new BigDecimal(courseNum), ROUND_DOWN);
|
|
BigDecimal firstSingleAmount = totalAmount.subtract(singleAmount.multiply(new BigDecimal(courseNum))).add(singleAmount);
|
|
BigDecimal firstSingleAmount = totalAmount.subtract(singleAmount.multiply(new BigDecimal(courseNum))).add(singleAmount);
|
|
@@ -699,16 +703,22 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
|
|
} else {
|
|
} else {
|
|
courseScheduleStudentPayment.setExpectPrice(singleAmount);
|
|
courseScheduleStudentPayment.setExpectPrice(singleAmount);
|
|
}
|
|
}
|
|
|
|
+ courseScheduleStudentPayment.setActivityUserMapperId(activityUserMapperId);
|
|
courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- private void getStudentPayment(Integer userId,Integer courseNum,BigDecimal singlePrice,List<CourseScheduleStudentPayment> courseScheduleStudentPayments){
|
|
|
|
|
|
+ private void getStudentPayment(Integer userId,
|
|
|
|
+ Integer courseNum,
|
|
|
|
+ BigDecimal singlePrice,
|
|
|
|
+ List<CourseScheduleStudentPayment> courseScheduleStudentPayments,
|
|
|
|
+ Integer activityUserMapperId){
|
|
for (Integer i = 0; i < courseNum; i++) {
|
|
for (Integer i = 0; i < courseNum; i++) {
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
courseScheduleStudentPayment.setUserId(userId);
|
|
courseScheduleStudentPayment.setUserId(userId);
|
|
courseScheduleStudentPayment.setExpectPrice(singlePrice);
|
|
courseScheduleStudentPayment.setExpectPrice(singlePrice);
|
|
courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
|
+ courseScheduleStudentPayment.setActivityUserMapperId(activityUserMapperId);
|
|
courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -742,7 +752,7 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
|
|
activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
|
|
activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
|
|
activityUserMapper.setCurrentCoursePrice(activityUserMapper.getSubNoCoursePrice());
|
|
activityUserMapper.setCurrentCoursePrice(activityUserMapper.getSubNoCoursePrice());
|
|
//生成学员课程支付记录
|
|
//生成学员课程支付记录
|
|
- this.getStudentPayment(integer,activityUserMapper.getSubNoCoursePrice(),num,courseScheduleStudentPayments);
|
|
|
|
|
|
+ this.getStudentPayment(integer,activityUserMapper.getSubNoCoursePrice(),num,courseScheduleStudentPayments,activityUserMapper.getId());
|
|
}else {
|
|
}else {
|
|
subCourseMap.put(integer, 0);
|
|
subCourseMap.put(integer, 0);
|
|
activityUserMapper.setSubCourseNum(num - subCourseNum);
|
|
activityUserMapper.setSubCourseNum(num - subCourseNum);
|
|
@@ -750,7 +760,7 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
|
|
BigDecimal divide = activityUserMapper.getActualPrice().divide(new BigDecimal(activityUserMapper.getTotalCourseNum()), RoundingMode.DOWN).multiply(new BigDecimal(subCourseNum));
|
|
BigDecimal divide = activityUserMapper.getActualPrice().divide(new BigDecimal(activityUserMapper.getTotalCourseNum()), RoundingMode.DOWN).multiply(new BigDecimal(subCourseNum));
|
|
activityUserMapper.setSubNoCoursePrice(activityUserMapper.getSubNoCoursePrice().subtract(divide));
|
|
activityUserMapper.setSubNoCoursePrice(activityUserMapper.getSubNoCoursePrice().subtract(divide));
|
|
activityUserMapper.setCurrentCoursePrice(divide);
|
|
activityUserMapper.setCurrentCoursePrice(divide);
|
|
- this.getStudentPayment(integer,subCourseNum,divide,courseScheduleStudentPayments);
|
|
|
|
|
|
+ this.getStudentPayment(integer,subCourseNum,divide,courseScheduleStudentPayments,activityUserMapper.getId());
|
|
//剩余课次充足
|
|
//剩余课次充足
|
|
continue one;
|
|
continue one;
|
|
}
|
|
}
|
|
@@ -775,10 +785,10 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
|
|
if(num <= subCourseNum){
|
|
if(num <= subCourseNum){
|
|
activityUserMapper.setSubGiveCourseNum(0);
|
|
activityUserMapper.setSubGiveCourseNum(0);
|
|
subCourseNum = subCourseNum - num;
|
|
subCourseNum = subCourseNum - num;
|
|
- this.getStudentPayment(integer,num,BigDecimal.ZERO,courseScheduleStudentPayments);
|
|
|
|
|
|
+ this.getStudentPayment(integer,num,BigDecimal.ZERO,courseScheduleStudentPayments,activityUserMapper.getId());
|
|
}else {
|
|
}else {
|
|
activityUserMapper.setSubGiveCourseNum(num - subCourseNum);
|
|
activityUserMapper.setSubGiveCourseNum(num - subCourseNum);
|
|
- this.getStudentPayment(integer,subCourseNum,BigDecimal.ZERO,courseScheduleStudentPayments);
|
|
|
|
|
|
+ this.getStudentPayment(integer,subCourseNum,BigDecimal.ZERO,courseScheduleStudentPayments,activityUserMapper.getId());
|
|
continue one;
|
|
continue one;
|
|
}
|
|
}
|
|
}
|
|
}
|