浏览代码

Merge remote-tracking branch 'origin/master'

Joe 5 年之前
父节点
当前提交
6d5ebde363

+ 52 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -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;
 	}
 }