From 4f4d6a511554e1ae45c3c9d840494be0bae3252b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Mon, 21 Feb 2022 17:26:18 +0800 Subject: [PATCH] Update --- app/Admin/Controllers/DealerOrderController.php | 6 +++++- app/Admin/Forms/DealerOrderRefuse.php | 4 ++++ app/Models/DealerOrder.php | 10 ++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/Admin/Controllers/DealerOrderController.php b/app/Admin/Controllers/DealerOrderController.php index 78886896..48ae9b0b 100644 --- a/app/Admin/Controllers/DealerOrderController.php +++ b/app/Admin/Controllers/DealerOrderController.php @@ -92,7 +92,11 @@ class DealerOrderController extends AdminController $actions->append(new DealerOrderPaid()); } - if ($actions->row->isPay() && Admin::user()->can('dcat.admin.dealer_orders.refuse')) { + if ( + $actions->row->isPay() && + $actions->row->isPayWayOffline() && + Admin::user()->can('dcat.admin.dealer_orders.refuse') + ) { $actions->append(new DealerOrderRefuse()); } diff --git a/app/Admin/Forms/DealerOrderRefuse.php b/app/Admin/Forms/DealerOrderRefuse.php index 9eef199f..c7e0ec34 100644 --- a/app/Admin/Forms/DealerOrderRefuse.php +++ b/app/Admin/Forms/DealerOrderRefuse.php @@ -30,6 +30,10 @@ class DealerOrderRefuse extends Form $order = DealerOrder::lockForUpdate()->findOrFail($id); + if (! $order->isPayWayOffline()) { + throw new BizException('订单付款方式不是线下打款'); + } + if (! $order->isPay()) { throw new BizException('无法收款:订单状态异常,请刷新后再试'); } diff --git a/app/Models/DealerOrder.php b/app/Models/DealerOrder.php index 3fa31eda..7bd77755 100644 --- a/app/Models/DealerOrder.php +++ b/app/Models/DealerOrder.php @@ -244,6 +244,16 @@ class DealerOrder extends Model return $this->status == DealerOrderStatus::Cancelled; } + /** + * 支付方式是否是线下打款 + * + * @return bool + */ + public function isPayWayOffline(): bool + { + return $this->pay_way === static::PAY_WAY_OFFLINE; + } + /** * 能否操作 *