瀏覽代碼

Merge remote-tracking branch 'origin/feature/1113-vipCourse' into feature/1113-vipCourse

zouxuan 7 月之前
父節點
當前提交
55aad33044

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

@@ -3007,13 +3007,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,"支付金额不匹配");
         }

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderDetailMapper.xml

@@ -140,7 +140,7 @@
     </select>
 
 	<select id="getActivityGoodsCount" resultType="int">
-        SELECT sum(t.good_num_) as goodNum
+        SELECT ifnull(sum(t.good_num_),0) as goodNum
         FROM user_order_detail t
         left join user_order o on t.order_no_ = o.order_no_
         where o.activity_id_ = #{activityId}