|
@@ -529,6 +529,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
throw new BizException("学员信息错误");
|
|
|
}
|
|
|
Map<Integer, SimpleUserDto> idUserInfoMap = studentSimpleInfos.stream().collect(Collectors.toMap(SimpleUserDto::getUserId, s -> s, (s1, s2) -> s1));
|
|
|
+ Map<Integer, BigDecimal> studentTheoryPriceMap = new HashMap<>();
|
|
|
for (Student student : studentDetail) {
|
|
|
if(StringUtils.isEmpty(student.getActivityCourseDetail())){
|
|
|
SimpleUserDto studentInfo = idUserInfoMap.get(student.getUserId());
|
|
@@ -542,6 +543,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
courseDetail.fluentPut(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType().getCode(), surplusTimes-1);
|
|
|
student.setActivityCourseDetail(courseDetail.toJSONString());
|
|
|
+ if(ActivityCourseType.MUSIC_THEORY.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())){
|
|
|
+ studentTheoryPriceMap.put(student.getUserId(), courseDetail.getBigDecimal("music_theory_price"));
|
|
|
+ }
|
|
|
}
|
|
|
studentDao.batchUpdate(studentDetail);
|
|
|
|
|
@@ -817,21 +821,27 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
userRoleMap.put(vipGroupApplyBaseInfoDto.getUserId(),"指导老师");
|
|
|
//生成学生单课缴费信息
|
|
|
for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
|
|
|
- if(ActivityCourseType.FREE_VIP.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())){
|
|
|
+ if(ActivityCourseType.FREE_VIP.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())
|
|
|
+ ||ActivityCourseType.MUSIC_THEORY.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())){
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
|
|
|
- for (Integer studentId : studentIdList) {
|
|
|
- for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
- CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
- courseScheduleStudentPayment.setUserId(studentId);
|
|
|
- courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
|
|
|
- courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
- courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
- courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ BigDecimal price = studentTheoryPriceMap.get(classGroupStudent.getUserId());
|
|
|
+ BigDecimal coursePrice = price.divide(new BigDecimal(courseSchedules.size()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
+ for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
+ CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
|
|
|
+ courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
|
|
|
+ courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
|
|
|
+ courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
|
|
|
+ courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
|
|
|
+ courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
|
|
|
+ if(ActivityCourseType.MUSIC_THEORY.equals(vipGroup.getVipGroupApplyBaseInfo().getActivityCourseType())){
|
|
|
+ courseScheduleStudentPayment.setExpectPrice(coursePrice);
|
|
|
+ courseScheduleStudentPayment.setOriginalPrice(coursePrice);
|
|
|
+ }else{
|
|
|
courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
|
|
|
courseScheduleStudentPayment.setOriginalPrice(BigDecimal.ZERO);
|
|
|
- courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
- courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
+ courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
|
|
|
+ courseScheduleStudentPayments.add(courseScheduleStudentPayment);
|
|
|
}
|
|
|
courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
|
|
|
}else{
|