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