From 4811472d88f4a67d930af08b51333845cb1f945d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Fri, 10 Dec 2021 10:20:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Product/ProductSkuController.php | 18 ++------------- .../ProductSku/ProduckSkuResource.php | 1 + app/Models/ProductSku.php | 22 +++++++------------ 3 files changed, 11 insertions(+), 30 deletions(-) diff --git a/app/Endpoint/Api/Http/Controllers/Product/ProductSkuController.php b/app/Endpoint/Api/Http/Controllers/Product/ProductSkuController.php index 2f6f2539..a8abd23b 100644 --- a/app/Endpoint/Api/Http/Controllers/Product/ProductSkuController.php +++ b/app/Endpoint/Api/Http/Controllers/Product/ProductSkuController.php @@ -46,24 +46,12 @@ class ProductSkuController extends Controller if (! $sku->isOnline()) { return response()->json([ 'spu_specs' => [], - 'sku' => array_merge(ProduckSkuResource::make($sku)->resolve(), [ - 'status' => ProductSku::STATUS_OFFLINE, - ]), + 'sku' => ProduckSkuResource::make($sku), ]); } $spu = ProductSpu::with('specs')->findOrFail($sku->spu_id); - // 如果商品已失效 - if (! $spu->isValidProductSku($sku)) { - return response()->json([ - 'spu_specs' => [], - 'sku' => array_merge(ProduckSkuResource::make($sku)->resolve(), [ - 'status' => ProductSku::STATUS_INVALID, - ]), - ]); - } - // 主商品的规格 $spuSpecs = []; @@ -106,9 +94,7 @@ class ProductSkuController extends Controller return response()->json([ 'spu_specs' => $spuSpecs, - 'sku' => array_merge(ProduckSkuResource::make($sku)->resolve(), [ - 'status' => ProductSku::STATUS_ONLINE, - ]), + 'sku' => ProduckSkuResource::make($sku), ]); } diff --git a/app/Endpoint/Api/Http/Resources/ProductSku/ProduckSkuResource.php b/app/Endpoint/Api/Http/Resources/ProductSku/ProduckSkuResource.php index 3e7d303f..f58cd1fb 100644 --- a/app/Endpoint/Api/Http/Resources/ProductSku/ProduckSkuResource.php +++ b/app/Endpoint/Api/Http/Resources/ProductSku/ProduckSkuResource.php @@ -28,6 +28,7 @@ class ProduckSkuResource extends JsonResource 'attrs' => $this->attrs, 'stock' => $this->saleable_stock, 'weight' => (int) $this->weight, + 'is_online' => $this->isOnline(), ]; } } diff --git a/app/Models/ProductSku.php b/app/Models/ProductSku.php index 64c01c4a..ea9ddd1e 100644 --- a/app/Models/ProductSku.php +++ b/app/Models/ProductSku.php @@ -17,10 +17,6 @@ class ProductSku extends Model use Release; use SkuInfo; - public const STATUS_INVALID = -1; // 无效的 - public const STATUS_ONLINE = 1; // 已上架 - public const STATUS_OFFLINE = 2; // 已下架 - /** * @var array */ @@ -94,6 +90,14 @@ class ProductSku extends Model return $this->belongsToMany(ProductPart::class, ProductPartSku::class, 'sku_id', 'part_id'); } + /** + * 此商品的赠品 + */ + public function gifts() + { + return $this->hasMany(ProductGift::class, 'sku_id'); + } + /** * 确认此商品是否已上架 * @@ -117,14 +121,4 @@ class ProductSku extends Model return 0; } - - /** - * 此商品的赠品 - * - * @return void - */ - public function gifts() - { - return $this->hasMany(ProductGift::class, 'sku_id'); - } }