|
@@ -3,9 +3,11 @@
|
|
|
namespace App\Modules\Admin\Services;
|
|
|
|
|
|
use App\Base\BaseService;
|
|
|
+use App\Exceptions\ClientException;
|
|
|
use App\Models\Goods\Goods;
|
|
|
use App\Models\Goods\GoodsCategoryMap;
|
|
|
use App\Models\Goods\GoodsSku;
|
|
|
+use App\Models\Goods\Spec;
|
|
|
use App\Models\Goods\SpecAttr;
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
use Illuminate\Support\Arr;
|
|
@@ -46,10 +48,16 @@ class GoodsService extends BaseService
|
|
|
$goods = new Goods();
|
|
|
}
|
|
|
|
|
|
- DB::transaction(function () use ($params, $goods) {
|
|
|
+ $specIdArr = Arr::get($params, "spec", []);
|
|
|
+ $notCustomSpecS = Spec::whereIn("id", $specIdArr)->where("is_custom", 0)->get();
|
|
|
+ if ($notCustomSpecS->isEmpty()) {
|
|
|
+ throw new ClientException("必须要存在一个非自定义的规格");
|
|
|
+ }
|
|
|
+
|
|
|
+ DB::transaction(function () use ($params, $goods, $specIdArr) {
|
|
|
|
|
|
$goods->image_list = Arr::get($params, "image_list", []);
|
|
|
- $goods->spec = Arr::get($params, "spec", []);
|
|
|
+ $goods->spec = $specIdArr;
|
|
|
$goods->name = Arr::get($params, "name", []);
|
|
|
$goods->weight = Arr::get($params, "weight", 0);
|
|
|
$goods->desc_html = Arr::get($params, "desc_html", "");
|