Przeglądaj źródła

修复:订单结算台时使用优惠券未生效

Yahoo 4 lat temu
rodzic
commit
65fa285fe1

+ 1 - 1
app/api/service/coupon/GoodsDeduct.php

@@ -146,7 +146,7 @@ class GoodsDeduct extends BaseService
         if ($this->couponInfo['coupon_type'] == CouponTypeEnum::DISCOUNT) {
             $reducePrice = $reducedMoney - ($reducedMoney * ($this->couponInfo['discount'] / 10));
         } else {
-            $reducePrice = $this->couponInfo['reduce_price'];
+            $reducePrice = $this->couponInfo['reduce_price'] * 100;
         }
         // 优惠券最大允许抵扣到一分钱,所以此处判断抵扣金额大于等于订单金额时,减去一分钱
         $this->actualReducedMoney = ($reducePrice >= $orderTotalPrice) ? $orderTotalPrice - 1 : $reducePrice;

+ 4 - 1
app/api/service/order/Checkout.php

@@ -549,7 +549,10 @@ class Checkout extends BaseService
         // 计算订单商品优惠券抵扣金额
         $goodsListTemp = helper::getArrayColumns($this->goodsList, ['goods_id', 'total_price']);
         $CouponMoney = new GoodsDeductService;
-        $rangeGoodsList = $CouponMoney->setGoodsList($goodsListTemp)->setCouponInfo($couponInfo)->getRangeGoodsList();
+        $rangeGoodsList = $CouponMoney->setGoodsList($goodsListTemp)
+            ->setCouponInfo($couponInfo)
+            ->setGoodsCouponMoney()
+            ->getRangeGoodsList();
         // 分配订单商品优惠券抵扣金额
         foreach ($this->goodsList as &$goods) {
             if (isset($rangeGoodsList[$goods['goods_id']])) {