|
@@ -1755,18 +1755,43 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
Date date = new Date();
|
|
|
List<Integer> months = subFeeSettingDto.getMonths();
|
|
|
- //删除乐团相关付费周期
|
|
|
- musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
|
|
|
- if(months != null && months.size() > 0){
|
|
|
- //批量插入
|
|
|
- musicGroupPaymentCalenderDao.batchAdd(months,musicGroupId);
|
|
|
- Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
|
|
|
- if(num > 0){
|
|
|
- throw new BizException("缴费周期更新失败,当前乐团有未缴费的学员");
|
|
|
- }
|
|
|
- //修改学员下次缴费日期
|
|
|
- musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
|
|
|
- }
|
|
|
+
|
|
|
+ //判断缴费日历是否修改
|
|
|
+ boolean isModifiedOfCalender = false;
|
|
|
+
|
|
|
+ List<MusicGroupPaymentCalender> calenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
|
|
|
+ if (months.size() == calenderList.size()) {
|
|
|
+ for (MusicGroupPaymentCalender cal : calenderList) {
|
|
|
+ if (!months.contains(cal.getPaymentMonth())) {
|
|
|
+ isModifiedOfCalender = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ isModifiedOfCalender = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isModifiedOfCalender) {
|
|
|
+
|
|
|
+ Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
|
|
|
+ if (num > 0) {
|
|
|
+ throw new BizException("缴费周期更新失败,当前乐团有未缴费的学员");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除乐团相关付费周期
|
|
|
+ musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
|
|
|
+ musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId);
|
|
|
+ if (months != null && months.size() > 0) {
|
|
|
+ // 批量插入
|
|
|
+ musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
|
|
|
+
|
|
|
+ //生成学员费用表
|
|
|
+ List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
|
|
|
+ if(musicGroupStudentFees != null && musicGroupStudentFees.size() > 0){
|
|
|
+ musicGroupStudentFeeDao.batchInsert(musicGroupStudentFees,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId),"PAID_COMPLETED");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
musicGroupDao.update(musicGroup);
|
|
|
//修改课程里面的教学点
|
|
|
if(!musicGroup.getSchoolId().equals(musicGroup.getSchoolId())){
|