|
@@ -62,4 +62,31 @@ public class MusicGroupOrganizationCourseSettingsServiceImpl extends BaseService
|
|
|
musicGroupOrganizationCourseSettingsDao.delete(setting.getId());
|
|
musicGroupOrganizationCourseSettingsDao.delete(setting.getId());
|
|
|
return setting;
|
|
return setting;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public MusicGroupOrganizationCourseSettings updateSetting(MusicGroupOrganizationCourseSettings setting) {
|
|
|
|
|
+ if (setting.getDetails() == null || setting.getDetails().size() <= 0) {
|
|
|
|
|
+ throw new BizException("请设置对应课程的收费");
|
|
|
|
|
+ }
|
|
|
|
|
+ musicGroupOrganizationCourseSettingsDetailDao.deleteBySettingId(setting.getId());
|
|
|
|
|
+
|
|
|
|
|
+ for (MusicGroupOrganizationCourseSettingsDetail detail : setting.getDetails()) {
|
|
|
|
|
+ if (detail.getCourseTotalMinuties() <= 0) {
|
|
|
|
|
+ throw new BizException(detail.getCourseType().getMsg() + "课程总时长必须大于0");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (detail.getIsStudentOptional()) {
|
|
|
|
|
+ setting.setTotalCurrentPrice(setting.getTotalCurrentPrice().add(detail.getCourseCurrentPrice()));
|
|
|
|
|
+ setting.setTotalOriginalPrice(setting.getTotalOriginalPrice().add(detail.getCourseOriginalPrice()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ musicGroupOrganizationCourseSettingsDao.update(setting);
|
|
|
|
|
+ for (MusicGroupOrganizationCourseSettingsDetail detail : setting.getDetails()) {
|
|
|
|
|
+ detail.setId(null);
|
|
|
|
|
+ detail.setMusicGroupOrganizationCourseSettingsId(setting.getId());
|
|
|
|
|
+ detail.setUnitPrice(detail.getCourseCurrentPrice().divide(new BigDecimal(detail.getCourseTotalMinuties()), 2, BigDecimal.ROUND_DOWN));
|
|
|
|
|
+ }
|
|
|
|
|
+ musicGroupOrganizationCourseSettingsDetailDao.batchInsert(setting.getDetails());
|
|
|
|
|
+ return setting;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|