Преглед изворни кода

乐团缴费项目现价是0元需要审核

zouxuan пре 3 година
родитељ
комит
2a47c2831f

+ 14 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -310,13 +310,20 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         } else {
             //计算项目原现价
             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;
+            //如果课程价格是0元,那么需要审核
+            if(courseCurrentAmount.compareTo(BigDecimal.ZERO) == 0 &&
+                    musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList() != null &&
+                    musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList().size() > 0){
+                status = AUDITING;
+            }else {
+                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;
+            }
         }
 
         Date date = new Date();