6
0
Fork 0

校验SPU,SKU删除操作

release
vine_liutk 2021-12-03 11:37:37 +08:00
parent ce3c761795
commit d0b5730c62
5 changed files with 33 additions and 7 deletions

View File

@ -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);
}

View File

@ -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');

View File

@ -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());
}
}
});
}));

View File

@ -36,5 +36,7 @@ return [
'attr_group'=>'商品分组',
],
'options' => [
'deny' => '删除失败',
'deny_message'=>'无法删除上架中的商品和上架审核中的商品',
],
];

View File

@ -31,5 +31,7 @@ return [
'release_at'=>'上架时间',
],
'options' => [
'deny' => '删除失败',
'deny_message'=>'请先删除该主商品下的子商品',
],
];