From d0b5730c62cdcd77f5dba5d699e2e7dc69b1ac27 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Fri, 3 Dec 2021 11:37:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E9=AA=8CSPU=EF=BC=8CSKU=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ProductCategoryController.php | 2 +- app/Admin/Controllers/ProductSkuController.php | 16 +++++++++++++--- app/Admin/Controllers/ProductSpuController.php | 18 +++++++++++++++--- resources/lang/zh_CN/product-sku.php | 2 ++ resources/lang/zh_CN/product-spu.php | 2 ++ 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/Admin/Controllers/ProductCategoryController.php b/app/Admin/Controllers/ProductCategoryController.php index 035739e9..d5759273 100644 --- a/app/Admin/Controllers/ProductCategoryController.php +++ b/app/Admin/Controllers/ProductCategoryController.php @@ -126,7 +126,7 @@ class ProductCategoryController extends AdminController //如果有子分类或者分类下有文章则不允许删除 if (ProductCategoryModel::descendantsOf($id, ['id'])->count() > 0 || ProductSpu::where('category_id', $id)->count() > 0) { - throw new BizException(__('product-spu.options.deny_message')); + throw new BizException(__('product-category.options.deny_message')); } return parent::destroy($id); } diff --git a/app/Admin/Controllers/ProductSkuController.php b/app/Admin/Controllers/ProductSkuController.php index 9bcd67b9..3b918b74 100644 --- a/app/Admin/Controllers/ProductSkuController.php +++ b/app/Admin/Controllers/ProductSkuController.php @@ -10,6 +10,7 @@ use App\Admin\Extensions\Grid\Tools\Product\BatchReleaseCancel; use App\Admin\Extensions\Grid\Tools\Product\BatchReleaseDown; use App\Admin\Extensions\Grid\Tools\Product\BatchReleaseUp; use App\Admin\Repositories\ProductSku; +use App\Exceptions\BizException; use App\Models\ProductBuynote; use App\Models\ProductGroup; use App\Models\ProductSku as ProductSkuModel; @@ -78,6 +79,9 @@ class ProductSkuController extends AdminController if (Admin::user()->can('dcat.admin.product_skus.release_up')) { $actions->append(new ReleaseUp()); } + if (Admin::user()->can('dcat.admin.product_skus.sku_sync_spu')) { + $actions->append(new SkuSyncSpu()); + } } if ($actions->row->verify_state == 1) { if (Admin::user()->can('dcat.admin.product_skus.release_cancel')) { @@ -89,9 +93,6 @@ class ProductSkuController extends AdminController if (Admin::user()->can('dcat.admin.product_skus.release_down')) { $actions->append(new ReleaseDown()); } - if (Admin::user()->can('dcat.admin.product_skus.sku_sync_spu')) { - $actions->append(new SkuSyncSpu()); - } } }); @@ -183,6 +184,15 @@ class ProductSkuController extends AdminController }); } + public function destroy($id) + { + $sku = ProductSkuModel::findOrFail($id); + if ($sku->release_at || $sku->verify_state == 1) {//如果是上架中、或者审核中的,无法删除 + throw new BizException(__('product-sku.options.deny_message')); + } + return parent::destroy($id); + } + public function skus(Request $request) { $name = $request->input('q'); diff --git a/app/Admin/Controllers/ProductSpuController.php b/app/Admin/Controllers/ProductSpuController.php index 19ea33f8..71506072 100644 --- a/app/Admin/Controllers/ProductSpuController.php +++ b/app/Admin/Controllers/ProductSpuController.php @@ -15,6 +15,7 @@ use App\Admin\Extensions\Grid\Tools\Product\BatchSkuSyncSpu; use App\Admin\Extensions\Grid\Tools\Product\InitSkuBySpecs; use App\Admin\Extensions\Grid\Tools\Product\SettingSpecs; use App\Admin\Repositories\ProductSpu; +use App\Exceptions\BizException; use App\Models\ProductBuynote; use App\Models\ProductFeature; use App\Models\ProductGroup; @@ -168,6 +169,17 @@ class ProductSpuController extends AdminController }); } + public function destroy($id) + { + //如果含有子sku + $spu = ProductSpuModel::findOrFail($id); + if ($spu->hasSku()) { + throw new BizException(__('product-spu.options.deny_message')); + } + + return parent::destroy($id); + } + /** * Undocumented function * @@ -241,6 +253,9 @@ class ProductSpuController extends AdminController if (Admin::user()->can('dcat.admin.product_skus.release_up')) { $actions->append(new ReleaseUp()); } + if (Admin::user()->can('dcat.admin.product_skus.sku_sync_spu')) { + $actions->append(new SkuSyncSpu()); + } } if ($actions->row->verify_state == 1) { if (Admin::user()->can('dcat.admin.product_skus.release_cancel')) { @@ -252,9 +267,6 @@ class ProductSpuController extends AdminController if (Admin::user()->can('dcat.admin.product_skus.release_down')) { $actions->append(new ReleaseDown()); } - if (Admin::user()->can('dcat.admin.product_skus.sku_sync_spu')) { - $actions->append(new SkuSyncSpu()); - } } }); })); diff --git a/resources/lang/zh_CN/product-sku.php b/resources/lang/zh_CN/product-sku.php index b80f8257..2ebb9a26 100644 --- a/resources/lang/zh_CN/product-sku.php +++ b/resources/lang/zh_CN/product-sku.php @@ -36,5 +36,7 @@ return [ 'attr_group'=>'商品分组', ], 'options' => [ + 'deny' => '删除失败', + 'deny_message'=>'无法删除上架中的商品和上架审核中的商品', ], ]; diff --git a/resources/lang/zh_CN/product-spu.php b/resources/lang/zh_CN/product-spu.php index d7b45cff..bfb5800b 100644 --- a/resources/lang/zh_CN/product-spu.php +++ b/resources/lang/zh_CN/product-spu.php @@ -31,5 +31,7 @@ return [ 'release_at'=>'上架时间', ], 'options' => [ + 'deny' => '删除失败', + 'deny_message'=>'请先删除该主商品下的子商品', ], ];