diff --git a/app/Services/AfterSaleService.php b/app/Services/AfterSaleService.php index 14120044..74900aa4 100644 --- a/app/Services/AfterSaleService.php +++ b/app/Services/AfterSaleService.php @@ -398,13 +398,19 @@ class AfterSaleService $salesValue = bcmul($afterSaleProduct->sales_value, $qty, 2); + $vipDiscountAmount = 0; + // 如果订单享受了会员折扣,则需计算会员折扣 + if ($afterSaleProduct->vip_discount_amount > 0) { + $vipDiscountAmount = bcmul(($afterSaleProduct->sell_price-$afterSaleProduct->vip_price), $afterSale->num); + } + //复制一个订单(存商品价格,支付价格为0;) $changeOrder = new Order(); $changeOrder->user_id = $order->user_id; $changeOrder->sn = serial_number(); $changeOrder->products_total_amount = bcmul($afterSaleProduct->sell_price, $afterSale->num); $changeOrder->coupon_discount_amount = 0; - $changeOrder->vip_discount_amount = bcmul(($afterSaleProduct->sell_price-$afterSaleProduct->vip_price), $afterSale->num); + $changeOrder->vip_discount_amount = $vipDiscountAmount; $changeOrder->reduced_amount = 0; $changeOrder->shipping_fee = 0; $changeOrder->total_amount = 0; @@ -437,7 +443,7 @@ class AfterSaleService 'quantity' => $afterSale->num, 'remain_quantity'=> $afterSale->num, 'coupon_discount_amount'=> 0, - 'vip_discount_amount' => $afterSaleProduct->sell_price - $afterSaleProduct->vip_price, + 'vip_discount_amount' => $vipDiscountAmount, 'reduced_amount' => 0, 'total_amount' => $afterSale->amount, ]);