Kaynağa Gözat

fix bug 数据错误

skyline 1 yıl önce
ebeveyn
işleme
1a75226400

+ 5 - 4
service/src/main/java/com/kym/service/miniapp/impl/CouponDiscountHandle.java

@@ -52,18 +52,19 @@ public class CouponDiscountHandle implements DiscountService {
                 // 根据优惠券类型处理
                 switch (userCoupon.getCouponType()) {
                     case Coupon.COUPON_TYPE_满减券:
-                        discountAmount = chargeOrder.getServiceMoney() - userCoupon.getDiscount();
+                        discountAmount = userCoupon.getDiscount();
                         break;
                     case Coupon.COUPON_TYPE_折扣券:
-                        discountAmount = chargeOrder.getServiceMoney() * (100 - userCoupon.getDiscount());
+                        discountAmount = chargeOrder.getServiceMoney() * (100 - userCoupon.getDiscount()) / 100;
                         break;
                     default:
                         break;
                 }
 
-                // 订单优惠金额更新
+                // 订单金额、优惠金额更新
                 chargeOrder.setDiscountAmount(discountAmount);
                 chargeOrder.setServiceMoneyDiscount(discountAmount);
+                chargeOrder.setPayAmount(chargeOrder.getTotalMoney() - discountAmount);
 
                 // 更新用户优惠券信息
                 userCouponService.lambdaUpdate()
@@ -80,7 +81,7 @@ public class CouponDiscountHandle implements DiscountService {
                         .update();
 
             } else {
-                log.error("订单使用失败:订单号:{},优惠券id{}:服务费未达到优惠券使用门槛", chargeOrder.getStartChargeSeq(), userCoupon.getCouponId());
+                log.error("订单使用优惠券失败:订单号:{},优惠券id{}:服务费未达到优惠券使用门槛", chargeOrder.getStartChargeSeq(), userCoupon.getCouponId());
             }
         } catch (Exception e) {
             log.error("处理优惠券失败", e);