Browse Source

Merge branch 'feature/1113-vipCourse' into develop-new

刘俊驰 8 months ago
parent
commit
52305f2847

+ 6 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -3004,13 +3004,18 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         if (scheduleDto.getTeacherSubjectPriceId() ==null) {
             throw new BizException("老师声部价格ID不能为空");
         }
+        TeacherSubjectPrice teacherSubjectPrice = teacherSubjectPriceService.getById(scheduleDto.getTeacherSubjectPriceId());//老师设置声部价格
         //校验课时数
         if (dateList.size() != courseNum) {
             throw new BizException("课程数与课时数不符");
         }
+
+        for (CourseScheduleDate courseScheduleDate : dateList) {
+            courseScheduleDate.setFreeEndTime(DateUtil.offsetMinute(courseScheduleDate.getEndTime(), teacherSubjectPrice.getFreeMinutes()));
+        }
+
         checkCourseTime(scheduleDto, dateList, studentId);
 
-        TeacherSubjectPrice teacherSubjectPrice = teacherSubjectPriceService.getById(scheduleDto.getTeacherSubjectPriceId());//老师设置声部价格
         BigDecimal decimal = new BigDecimal(courseNum);//选购课程节数
         BigDecimal multiply = teacherSubjectPrice.getSubjectPrice().multiply(decimal);//预计总价
 

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -214,6 +214,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         /**********订单取消后******************/
         //趣纠课购买
         orderCancel.put(GoodTypeEnum.PRACTICE, scheduleService::buyPracticeCourseFailed);
+        orderCancel.put(GoodTypeEnum.VIP_COURSE, scheduleService::buyPracticeCourseFailed);
         //视频课购买
         orderCancel.put(GoodTypeEnum.VIDEO, recordService::buyVideoCourseFailed);
         //直播课购买

+ 8 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java

@@ -595,6 +595,12 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
             .map(UserOrderDetail::getExpectPrice)
             .reduce(BigDecimal.ZERO, BigDecimal::add);
 
+
+        // 优惠金额
+        BigDecimal couponAmount = orderDetails.stream()
+                .map(UserOrderDetail::getCouponAmount)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+
         // 实际支付金额
         BigDecimal cashAmount = orderDetails.stream()
             .map(UserOrderDetail::getActualPrice)
@@ -603,12 +609,11 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
 
         orderReq.originalPrice(originalPrice.setScale(2, RoundingMode.HALF_UP))
             .currentPrice(currentPrice.setScale(2, RoundingMode.HALF_UP))
-            .paymentCouponAmount(BigDecimal.ZERO)
+            .paymentCouponAmount(couponAmount)
             .actualPrice(cashAmount.setScale(2, RoundingMode.HALF_UP));
 
         // 验证支付金额是否匹配
-        if (orderReq.getActualPrice().setScale(2, RoundingMode.HALF_UP)
-            .compareTo(orderReq.getPaymentCashAmount().setScale(2, RoundingMode.HALF_UP)) != 0) {
+        if (orderReq.getActualPrice().compareTo(orderReq.getPaymentCashAmount()) != 0) {
             log.info("executeOrder actualPrice={}", orderReq.getActualPrice());
             throw new BizException(999,"支付金额不匹配");
         }