diff --git a/app/AdminAgent/Controllers/AgentProductController.php b/app/AdminAgent/Controllers/AgentProductController.php index a3c04dc..9d600ef 100644 --- a/app/AdminAgent/Controllers/AgentProductController.php +++ b/app/AdminAgent/Controllers/AgentProductController.php @@ -413,7 +413,11 @@ class AgentProductController extends AdminController ['is_cloud', '=', 1], ['type', '=', 1], ['agent_id', '<>', Admin::user()->id], - ])->find($form->agent_cloud_pid); + ])->whereDoesntHave('agentProductItem', function ($query) { + return $query->whereHas('product', function ($query) { + return $query->where('stock', '<=', 0)->orWhere('status', '<>', ProductStatus::ON_SALE); + }); + })->find($form->agent_cloud_pid); if (!$cloud_product) { return $form->response()->error('你选择的组团云产品库存不足或已下架,请重新选择'); diff --git a/app/AdminAgent/Renderable/SelectAgentCloudProduct.php b/app/AdminAgent/Renderable/SelectAgentCloudProduct.php index 18cf4fb..acb45fe 100644 --- a/app/AdminAgent/Renderable/SelectAgentCloudProduct.php +++ b/app/AdminAgent/Renderable/SelectAgentCloudProduct.php @@ -30,7 +30,12 @@ class SelectAgentCloudProduct extends LazyRenderable ['is_cloud', '=', 1], ['type', '=', 1], ['agent_id', '<>', Admin::user()->id], - ]); + ])->whereDoesntHave('agentProductItem', function ($query) { + return $query->whereHas('product', function ($query) { + return $query->where('stock', '<=', 0)->orWhere('status', '<>', ProductStatus::ON_SALE); + }); + }); + $grid->quickSearch(['title'])->placeholder('搜索产品名称'); diff --git a/app/AdminAgent/Renderable/SelectAgentProduct.php b/app/AdminAgent/Renderable/SelectAgentProduct.php index d29861f..51f7807 100644 --- a/app/AdminAgent/Renderable/SelectAgentProduct.php +++ b/app/AdminAgent/Renderable/SelectAgentProduct.php @@ -25,7 +25,12 @@ class SelectAgentProduct extends LazyRenderable $grid->disableBatchActions(); $grid->model()->where('stock', '>', 0) - ->where(['agent_id' => Admin::user()->id, 'status' => ProductStatus::ON_SALE]); + ->where(['agent_id' => Admin::user()->id, 'status' => ProductStatus::ON_SALE]) + ->whereDoesntHave('agentProductItem', function ($query) { + return $query->whereHas('product', function ($query) { + return $query->where('stock', '<=', 0)->orWhere('status', '<>', ProductStatus::ON_SALE); + }); + }); $grid->quickSearch(['title'])->placeholder('搜索产品名称'); $grid->column('id');