diff --git a/beike/Admin/Repositories/InquiryRepo.php b/beike/Admin/Repositories/InquiryRepo.php index 4981c100..86c4dead 100644 --- a/beike/Admin/Repositories/InquiryRepo.php +++ b/beike/Admin/Repositories/InquiryRepo.php @@ -25,8 +25,11 @@ class InquiryRepo public static function getList(): LengthAwarePaginator { $builder = Inquiry::query()->with([ - 'productsku', 'productsku.product','productsku.product' => function ($query) { - $query->with(['description']); + 'productsku' => function($query) { + $query->withTrashed(); + }, + 'productsku.product' => function($query) { + $query->withTrashed()->with(['description']); }, ])->orderByDesc('updated_at'); diff --git a/beike/Admin/Services/ProductService.php b/beike/Admin/Services/ProductService.php index 629ce470..b6bdbb30 100644 --- a/beike/Admin/Services/ProductService.php +++ b/beike/Admin/Services/ProductService.php @@ -59,7 +59,9 @@ class ProductService } $product->skus()->createMany($skus); - $product->numPrices()->createMany(list_sort_by($data['numPrices'],'num') ?? []); + if($data['price_setting'] == 'num' && !empty($data['numPrices'])){ + $product->numPrices()->createMany(list_sort_by($data['numPrices'],'num') ?? []); + } $product->categories()->sync($data['categories'] ?? []); $product->relations()->sync($data['relations'] ?? []); diff --git a/beike/Models/ProductSku.php b/beike/Models/ProductSku.php index 21f5be12..6ca82861 100644 --- a/beike/Models/ProductSku.php +++ b/beike/Models/ProductSku.php @@ -3,10 +3,12 @@ namespace Beike\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\SoftDeletes; class ProductSku extends Base { use HasFactory; + use SoftDeletes; protected $fillable = ['product_id', 'variants', 'position', 'images', 'model', 'sku', 'price', 'origin_price', 'cost_price', 'quantity', 'is_default']; diff --git a/beike/Repositories/ProductRepo.php b/beike/Repositories/ProductRepo.php index 61050f2b..0d3cd4a2 100644 --- a/beike/Repositories/ProductRepo.php +++ b/beike/Repositories/ProductRepo.php @@ -94,7 +94,8 @@ class ProductRepo }); $builder->leftJoin('product_skus', function ($build) { $build->whereColumn('product_skus.product_id', 'products.id') - ->where('is_default', 1); + ->where('is_default', 1) + ->where('product_skus.deleted_at', null); }); $builder->select(['products.*', 'pd.name', 'pd.content', 'pd.meta_title', 'pd.meta_description', 'pd.meta_keywords', 'pd.name', 'product_skus.price']); diff --git a/beike/Shop/Http/Resources/InquiryDetail.php b/beike/Shop/Http/Resources/InquiryDetail.php index c1d8d3c4..94724251 100644 --- a/beike/Shop/Http/Resources/InquiryDetail.php +++ b/beike/Shop/Http/Resources/InquiryDetail.php @@ -14,36 +14,49 @@ namespace Beike\Shop\Http\Resources; use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\JsonResource; -class InquiryDetail extends JsonResource -{ +class InquiryDetail extends JsonResource{ /** * @param Request $request * @return array * @throws \Exception */ - public function toArray($request): array - { + public function toArray($request):array{ $productsku = $this->productsku; - $product = $productsku->product; + if($this->productsku == NULL){ + return [ + 'id' => $this->id, + 'product_sku_id' => $this->product_sku_id, + 'contacts' => $this->contacts, + 'email' => $this->email, + 'content' => $this->content, + 'product_sku_sku' => '', + 'product_name' => '', + 'product_images' => [], + 'product_id' => '', + 'created_at' => time_format($this->created_at), + 'updated_at' => time_format($this->updated_at), + ]; + } + $product = $productsku->product; $description = $product->description; return [ - 'id' => $this->id, - 'product_sku_id' => $this->product_sku_id, - 'contacts' => $this->contacts, - 'email' => $this->email, - 'content' => $this->content, - 'product_sku_sku' => $productsku->sku, - 'product_name' => $description->name ?? '', - 'product_images' => array_map(function ($image) { + 'id' => $this->id, + 'product_sku_id' => $this->product_sku_id, + 'contacts' => $this->contacts, + 'email' => $this->email, + 'content' => $this->content, + 'product_sku_sku' => $productsku->sku, + 'product_name' => $description->name ?? '', + 'product_images' => array_map(function($image){ return [ - 'preview' => image_resize($image, 500, 500), - 'popup' => image_resize($image, 800, 800), - 'thumb' => image_resize($image, 150, 150), + 'preview' => image_resize($image,500,500), + 'popup' => image_resize($image,800,800), + 'thumb' => image_resize($image,150,150), ]; - }, $product->images ?? []), - 'product_id' => $productsku->product_id, - 'created_at' => time_format($this->created_at), - 'updated_at' => time_format($this->updated_at), + },$product->images ?? []), + 'product_id' => $productsku->product_id, + 'created_at' => time_format($this->created_at), + 'updated_at' => time_format($this->updated_at), ]; } } diff --git a/resources/beike/admin/views/pages/inquiry/index.blade.php b/resources/beike/admin/views/pages/inquiry/index.blade.php index 099d1995..1cd29b61 100644 --- a/resources/beike/admin/views/pages/inquiry/index.blade.php +++ b/resources/beike/admin/views/pages/inquiry/index.blade.php @@ -92,7 +92,7 @@ {{ __('admin/product.products_name') }}-{{ __('common.sku') }} - @{{ dialog.form.product_name }}-@{{ dialog.form.product_sku_sku}} + @{{ dialog.form.product_name }}-@{{ dialog.form.product_sku_sku}} diff --git a/resources/beike/admin/views/pages/products/form/form.blade.php b/resources/beike/admin/views/pages/products/form/form.blade.php index 53ab454c..a69f857f 100644 --- a/resources/beike/admin/views/pages/products/form/form.blade.php +++ b/resources/beike/admin/views/pages/products/form/form.blade.php @@ -123,6 +123,7 @@ + diff --git a/themes/default/product.blade.php b/themes/default/product.blade.php index 1e3d372c..563486ec 100644 --- a/themes/default/product.blade.php +++ b/themes/default/product.blade.php @@ -177,7 +177,7 @@ @else -
{{ __('product.has_been_inactive') }}
+{{--
{{ __('product.has_been_inactive') }}
--}} @endif