|
@@ -45,16 +45,17 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean create(MusicGroupPaymentCalender musicGroupPaymentCalender) {
|
|
|
-
|
|
|
+
|
|
|
Date date = new Date();
|
|
|
List<MusicGroupStudentFee> list = null;
|
|
|
|
|
|
musicGroupPaymentCalender.setCreateTime(date);
|
|
|
musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
|
|
|
- //判断缴费开始时间、结束时间是否被其他缴费记录占用
|
|
|
- int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(musicGroupPaymentCalender.getMusicGroupId(), musicGroupPaymentCalender.getStartPaymentDate(), musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
|
- if(count > 0){
|
|
|
+ // 判断缴费开始时间、结束时间是否被其他缴费记录占用
|
|
|
+ int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(musicGroupPaymentCalender.getMusicGroupId(),
|
|
|
+ musicGroupPaymentCalender.getStartPaymentDate(), musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
|
+ if (count > 0) {
|
|
|
throw new BizException("缴费时间存在冲突,请修改缴费开始日期");
|
|
|
}
|
|
|
if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
|
|
@@ -72,6 +73,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
}
|
|
|
|
|
|
this.insert(musicGroupPaymentCalender);
|
|
|
+
|
|
|
+ List<MusicGroupStudentFee> updateMusicGroupStudentFeeList = new ArrayList<MusicGroupStudentFee>();
|
|
|
|
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
|
|
|
if (musicGroupPaymentCalender.getPaymentStatus() == PaymentStatusEnum.OPEN) {
|
|
@@ -89,6 +92,14 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
|
}
|
|
|
+
|
|
|
+ // 更新学员缴费状态
|
|
|
+ List<MusicGroupStudentFee> musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupPaymentCalender.getMusicGroupId());
|
|
|
+ for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) {
|
|
|
+ mgsf.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
+ mgsf.setUpdateTime(date);
|
|
|
+ updateMusicGroupStudentFeeList.add(mgsf);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -96,6 +107,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
|
|
|
}
|
|
|
|
|
|
+ if (updateMusicGroupStudentFeeList.size() > 0) {
|
|
|
+ musicGroupStudentFeeDao.batchUpdate(updateMusicGroupStudentFeeList);
|
|
|
+ }
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -107,31 +122,32 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
statusList.add(PaymentStatusEnum.NO);
|
|
|
statusList.add(PaymentStatusEnum.OPEN);
|
|
|
List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.queryByPaymentStatus(statusList);
|
|
|
-
|
|
|
+
|
|
|
List<MusicGroupPaymentCalender> updateMusicGroupPaymentCalenderList = new ArrayList<MusicGroupPaymentCalender>();
|
|
|
|
|
|
MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
|
|
|
+ List<MusicGroupStudentFee> updateMusicGroupStudentFeeList = new ArrayList<MusicGroupStudentFee>();
|
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
|
|
|
-
|
|
|
- for(MusicGroupPaymentCalender mgpc : musicGroupPaymentCalenderList){
|
|
|
-
|
|
|
- if(date.after(mgpc.getDeadlinePaymentDate())){
|
|
|
- //“进行中”更新至“已结束”
|
|
|
+
|
|
|
+ for (MusicGroupPaymentCalender mgpc : musicGroupPaymentCalenderList) {
|
|
|
+
|
|
|
+ if (date.after(mgpc.getDeadlinePaymentDate())) {
|
|
|
+ // “进行中”更新至“已结束”
|
|
|
mgpc.setUpdateTime(date);
|
|
|
mgpc.setPaymentStatus(PaymentStatusEnum.YES);
|
|
|
updateMusicGroupPaymentCalenderList.add(mgpc);
|
|
|
-
|
|
|
- //学生状态更新已结束
|
|
|
-
|
|
|
+
|
|
|
+ // 学生状态更新已结束
|
|
|
+
|
|
|
} else if (date.after(mgpc.getStartPaymentDate())) {
|
|
|
- //“未开始”更新至“进行中”
|
|
|
+ // “未开始”更新至“进行中”
|
|
|
mgpc.setUpdateTime(date);
|
|
|
mgpc.setPaymentStatus(PaymentStatusEnum.OPEN);
|
|
|
updateMusicGroupPaymentCalenderList.add(mgpc);
|
|
|
-
|
|
|
- //学生状态更新进行中
|
|
|
+
|
|
|
+ // 学生状态更新进行中
|
|
|
List<MusicGroupStudentFee> list = musicGroupStudentFeeDao.queryByMusicGroupId(mgpc.getMusicGroupId());
|
|
|
-
|
|
|
+
|
|
|
// 创建缴费明细
|
|
|
for (MusicGroupStudentFee mgsf : list) {
|
|
|
musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
@@ -144,17 +160,29 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
|
}
|
|
|
+
|
|
|
+ // 更新学员缴费状态
|
|
|
+ List<MusicGroupStudentFee> musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(mgpc.getMusicGroupId());
|
|
|
+ for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) {
|
|
|
+ mgsf.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
+ mgsf.setUpdateTime(date);
|
|
|
+ updateMusicGroupStudentFeeList.add(mgsf);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if(updateMusicGroupPaymentCalenderList.size() > 0){
|
|
|
+
|
|
|
+ if (updateMusicGroupPaymentCalenderList.size() > 0) {
|
|
|
musicGroupPaymentCalenderDao.batchUpdate(updateMusicGroupPaymentCalenderList);
|
|
|
}
|
|
|
|
|
|
if (musicGroupPaymentCalenderDetailList.size() > 0) {
|
|
|
musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ if (updateMusicGroupStudentFeeList.size() > 0) {
|
|
|
+ musicGroupStudentFeeDao.batchUpdate(updateMusicGroupStudentFeeList);
|
|
|
+ }
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -228,7 +256,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
throw new BizException("修改失败,缴费状态不匹配");
|
|
|
}
|
|
|
calender.setStartPaymentDate(startTime);
|
|
|
- calender.setDeadlinePaymentDate(DateUtil.addDays(startTime,3));
|
|
|
+ calender.setDeadlinePaymentDate(DateUtil.addDays(startTime, 3));
|
|
|
calender.setUpdateTime(new Date());
|
|
|
musicGroupPaymentCalenderDao.update(calender);
|
|
|
}
|
|
@@ -253,9 +281,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
public Object getDetail(Long id) {
|
|
|
MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
|
|
|
BigDecimal sumActualAmount = musicGroupPaymentCalenderDetailDao.sumActualAmount(id);
|
|
|
- Map<String,Object> result = new HashMap<>(2);
|
|
|
- result.put("calender",calender);
|
|
|
- result.put("sumActualAmount",sumActualAmount);
|
|
|
+ Map<String, Object> result = new HashMap<>(2);
|
|
|
+ result.put("calender", calender);
|
|
|
+ result.put("sumActualAmount", sumActualAmount);
|
|
|
return result;
|
|
|
}
|
|
|
}
|