Browse Source

活动排课,由于支付金额向上取整,所以支付金额会高于课程原价

zouxuan 3 years ago
parent
commit
bee0e192c9

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -3454,9 +3454,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }else if(!CollectionUtils.isEmpty(userCourseInfos)){
         }else if(!CollectionUtils.isEmpty(userCourseInfos)){
             BigDecimal historyPrice = ZERO;
             BigDecimal historyPrice = ZERO;
             BigDecimal allPrice = ZERO;
             BigDecimal allPrice = ZERO;
+            int overNum = 0;
             for (StudentCourseInfoDto userCourseInfo : userCourseInfos) {
             for (StudentCourseInfoDto userCourseInfo : userCourseInfos) {
                 allPrice = allPrice.add(userCourseInfo.getExpectPrice());
                 allPrice = allPrice.add(userCourseInfo.getExpectPrice());
                 if(now.after(userCourseInfo.getStartClassTime())){
                 if(now.after(userCourseInfo.getStartClassTime())){
+					overNum++;
                     historyPrice = historyPrice.add(userCourseInfo.getTeachMode().equals(TeachModeEnum.ONLINE)?vipGroup.getOnlineClassesUnitPrice():vipGroup.getOfflineClassesUnitPrice());
                     historyPrice = historyPrice.add(userCourseInfo.getTeachMode().equals(TeachModeEnum.ONLINE)?vipGroup.getOnlineClassesUnitPrice():vipGroup.getOfflineClassesUnitPrice());
                 }
                 }
             }
             }
@@ -3464,6 +3466,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             if(bigDecimal.compareTo(ZERO) < 0){
             if(bigDecimal.compareTo(ZERO) < 0){
                 bigDecimal = ZERO;
                 bigDecimal = ZERO;
             }
             }
+            if(overNum == userCourseInfos.size()){
+				bigDecimal = ZERO;
+			}
 			result.put("suplusCourseOriginalFee", allPrice);
 			result.put("suplusCourseOriginalFee", allPrice);
         }else{
         }else{
 		    bigDecimal = new BigDecimal(0);
 		    bigDecimal = new BigDecimal(0);