diff --git a/app/AdminSupplier/Controllers/ProductController.php b/app/AdminSupplier/Controllers/ProductController.php index 95a37d3..d014ee0 100644 --- a/app/AdminSupplier/Controllers/ProductController.php +++ b/app/AdminSupplier/Controllers/ProductController.php @@ -11,6 +11,7 @@ use App\Models\AgentProductItem; use App\Models\AgentProductSpec; use App\Models\Category; use App\Models\DiyForm; +use App\Models\Order; use App\Models\ProductSpec; use Dcat\Admin\Admin; use Dcat\Admin\Form; @@ -389,6 +390,16 @@ class ProductController extends AdminController if (array_filter($form->model()->toArray(), fn($v) => $v['supplier_id'] != Admin::user()->id)) { return $form->response()->error('数据不存在'); } + + $exists_unfinished_order = Order::where([ + ['product_id', '=', $form->getKey()], + ['status', '>', OrderStatus::UNPAID], + ['status', '<', OrderStatus::SUCCESS], + ['status', '<>', OrderStatus::REFUNDED], + ])->exists(); + if ($exists_unfinished_order) { + return $form->response()->error('该产品存在未完成的订单,不允许删除'); + } }); } }