feat : coupon
This commit is contained in:
@@ -274,7 +274,7 @@ class PlacePayService extends BaseService
|
|||||||
private function checkPayOrder(): void
|
private function checkPayOrder(): void
|
||||||
{
|
{
|
||||||
$this->payInfo = $this->payOrderModel->getInfoByOrderIdAndTypeAndRType($this->orderId,$this->orderType,$this->payType);
|
$this->payInfo = $this->payOrderModel->getInfoByOrderIdAndTypeAndRType($this->orderId,$this->orderType,$this->payType);
|
||||||
if (!empty($this->payInfo)) return;
|
if (empty($this->payInfo)) return;
|
||||||
if ($this->payInfo->status == PayCode::FINISH_PAY) throw new ErrException('该订单已支付,请确认后重试');
|
if ($this->payInfo->status == PayCode::FINISH_PAY) throw new ErrException('该订单已支付,请确认后重试');
|
||||||
if ($this->payInfo->recharge_type != $this->payType) throw new ErrException('该订单调起支付失败');
|
if ($this->payInfo->recharge_type != $this->payType) throw new ErrException('该订单调起支付失败');
|
||||||
if ($this->payInfo->order_type != $this->orderType) throw new ErrException('传值错误');
|
if ($this->payInfo->order_type != $this->orderType) throw new ErrException('传值错误');
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ trait OrderTrait
|
|||||||
$orderMaxPrice = max(array_column($this->orderRes['good'],'price'));
|
$orderMaxPrice = max(array_column($this->orderRes['good'],'price'));
|
||||||
$this->orderRes['coupon']['amount'] = match ($this->orderRes['coupon']['coupon_type']) {
|
$this->orderRes['coupon']['amount'] = match ($this->orderRes['coupon']['coupon_type']) {
|
||||||
CouponCode::COUPON_TYPE_INSTANT_REDUCTION => $this->orderRes['coupon']['amount'],
|
CouponCode::COUPON_TYPE_INSTANT_REDUCTION => $this->orderRes['coupon']['amount'],
|
||||||
CouponCode::COUPON_TYPE_DISCOUNT => bcmul(bcdiv((string)$this->orderRes['coupon']['ratio'],"100",2),(string)$orderMaxPrice,2),
|
CouponCode::COUPON_TYPE_DISCOUNT => bcmul(bcdiv(bcsub("100",(string)$this->orderRes['coupon']['ratio'],2),"100",2),$orderMaxPrice,2),
|
||||||
default => 0
|
default => 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user