Bläddra i källkod

学校缴费金额为0

zouxuan 3 år sedan
förälder
incheckning
36042f0bac

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderCourseSettingsServiceImpl.java

@@ -24,6 +24,7 @@ import java.util.function.BiFunction;
 import java.util.function.BinaryOperator;
 import java.util.stream.Collectors;
 
+import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.AUDITING;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_RENEW;
@@ -78,6 +79,9 @@ public class MusicGroupPaymentCalenderCourseSettingsServiceImpl extends BaseServ
     public void batchInsert(MusicGroupPaymentCalender musicGroupPaymentCalender) {
 		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingss = musicGroupPaymentCalender.getMusicGroupPaymentCalenderCourseSettingsList();
 		if (musicGroupPaymentCalenderCourseSettingss != null && musicGroupPaymentCalenderCourseSettingss.size() > 0) {
+			if (musicGroupPaymentCalender.getPayUserType() == SCHOOL) {
+				musicGroupPaymentCalenderCourseSettingss.forEach(e->e.setCourseCurrentPrice(BigDecimal.ZERO));
+			}
 			MusicGroupOrganizationCourseSettings courseSettings = musicGroupOrganizationCourseSettingsService.get(musicGroupPaymentCalender
 					.getMusicGroupOrganizationCourseSettingId());
 			for (MusicGroupPaymentCalenderCourseSettings musicGroupPaymentCalenderCourseSettings : musicGroupPaymentCalenderCourseSettingss) {

+ 30 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -557,25 +557,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		}
 		musicGroupPaymentBaseCalender.setMusicGroup(musicGroup);
 
-		//计算缴费项目总金额(前端录入)
-		BigDecimal courseActualAmount = musicGroupPaymentCalenderCourseSettingsService.getActualAmount(musicGroupPaymentBaseCalender);
-		BigDecimal memberActualAmount = musicGroupPaymentCalenderMemberService.getActualAmount(musicGroupPaymentBaseCalender);
-		BigDecimal repairActualAmount = musicGroupPaymentCalenderRepairService.getActualAmount(musicGroupPaymentBaseCalender);
-		BigDecimal activityActualAmount = musicGroupPaymentCalenderActivityService.getActualAmount(musicGroupPaymentBaseCalender);
-
-		BigDecimal actualTotalAmount = courseActualAmount.add(memberActualAmount)
-				.add(repairActualAmount)
-				.add(activityActualAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
-		//计算项目原现价
-		BigDecimal courseCurrentAmount = musicGroupPaymentCalenderCourseSettingsService.getCurrentAmount(musicGroupPaymentBaseCalender);
-		BigDecimal memberCurrentAmount = musicGroupPaymentCalenderMemberService.getCurrentAmount(musicGroupPaymentBaseCalender);
-		BigDecimal repairCurrentAmount = musicGroupPaymentCalenderRepairService.getCurrentAmount(musicGroupPaymentBaseCalender);
-		BigDecimal activityCurrentAmount = musicGroupPaymentCalenderActivityService.getCurrentAmount(musicGroupPaymentBaseCalender);
-
-		BigDecimal currentTotalAmount = courseCurrentAmount.add(memberCurrentAmount)
-				.add(repairCurrentAmount)
-				.add(activityCurrentAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
-
 		//计算缴费项目原价
 		BigDecimal courseOriginalAmount = musicGroupPaymentCalenderCourseSettingsService.getOriginalAmount(musicGroupPaymentBaseCalender);
 		BigDecimal memberOriginalAmount = musicGroupPaymentCalenderMemberService.getOriginalAmount(musicGroupPaymentBaseCalender);
@@ -586,10 +567,30 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				.add(activityOriginalAmount)
 				.add(repairOriginalAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
 
+		BigDecimal actualTotalAmount = BigDecimal.ZERO;
 		PaymentCalenderStatusEnum status;
 		if (musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL) {
 			status = AUDITING;
 		} else {
+			//计算缴费项目总金额(前端录入)
+			BigDecimal courseActualAmount = musicGroupPaymentCalenderCourseSettingsService.getActualAmount(musicGroupPaymentBaseCalender);
+			BigDecimal memberActualAmount = musicGroupPaymentCalenderMemberService.getActualAmount(musicGroupPaymentBaseCalender);
+			BigDecimal repairActualAmount = musicGroupPaymentCalenderRepairService.getActualAmount(musicGroupPaymentBaseCalender);
+			BigDecimal activityActualAmount = musicGroupPaymentCalenderActivityService.getActualAmount(musicGroupPaymentBaseCalender);
+
+			actualTotalAmount = courseActualAmount.add(memberActualAmount)
+					.add(repairActualAmount)
+					.add(activityActualAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
+
+			//计算项目原现价
+			BigDecimal courseCurrentAmount = musicGroupPaymentCalenderCourseSettingsService.getCurrentAmount(musicGroupPaymentBaseCalender);
+			BigDecimal memberCurrentAmount = musicGroupPaymentCalenderMemberService.getCurrentAmount(musicGroupPaymentBaseCalender);
+			BigDecimal repairCurrentAmount = musicGroupPaymentCalenderRepairService.getCurrentAmount(musicGroupPaymentBaseCalender);
+			BigDecimal activityCurrentAmount = musicGroupPaymentCalenderActivityService.getCurrentAmount(musicGroupPaymentBaseCalender);
+
+			BigDecimal currentTotalAmount = courseCurrentAmount.add(memberCurrentAmount)
+					.add(repairCurrentAmount)
+					.add(activityCurrentAmount).setScale(0, BigDecimal.ROUND_HALF_UP);
 			status = actualTotalAmount.compareTo(currentTotalAmount) == 0 ? NO:AUDITING;
 		}
 
@@ -630,9 +631,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		//保存会员缴费信息
 		MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentBaseCalender.getCalenderMember();
 		if(calenderMember != null){
-			calenderMember = musicGroupPaymentCalenderMemberService.initBean(musicGroupPaymentBaseCalender.getCalenderMember());
+			calenderMember = musicGroupPaymentCalenderMemberService.initBean(calenderMember);
 			calenderMember.setOriginalAmount(memberOriginalAmount);
 			calenderMember.setCalenderId(calenderId);
+			if (musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL) {
+				calenderMember.setActualAmount(BigDecimal.ZERO);
+			}
 			musicGroupPaymentCalenderMemberService.insert(calenderMember);
 		}
 		//保存乐保缴费信息
@@ -640,12 +644,18 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if(musicRepair != null){
 			musicRepair.setOriginalAmount(repairOriginalAmount);
 			musicRepair.setCalenderId(calenderId);
+			if (musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL) {
+				musicRepair.setActualAmount(BigDecimal.ZERO);
+			}
 			musicGroupPaymentCalenderRepairService.insert(musicRepair);
 		}
 		//保存活动缴费信息
 		List<MusicGroupPaymentCalenderActivity> calenderActivityList = musicGroupPaymentBaseCalender.getCalenderActivityList();
 		if(calenderActivityList != null && calenderActivityList.size() > 0){
 			musicGroupPaymentCalenderActivityService.initBean(calenderActivityList);
+			if (musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL) {
+				calenderActivityList.forEach(e->e.setActualAmount(BigDecimal.ZERO));
+			}
 			musicGroupPaymentCalenderActivityService.batchInsert(musicGroupPaymentBaseCalender,calenderId);
 		}
 		//保存课程费用列表