161 lines
6.9 KiB
PHP
161 lines
6.9 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Peidikeji\Goods\GoodsService;
|
|
use Peidikeji\Goods\Models\Goods;
|
|
use Peidikeji\Goods\Models\GoodsBrand;
|
|
use Peidikeji\Goods\Models\GoodsSku;
|
|
use Peidikeji\Goods\Models\GoodsType;
|
|
use Peidikeji\Goods\Models\GoodsCategory;
|
|
|
|
class GoodsSeeder extends Seeder
|
|
{
|
|
public function run()
|
|
{
|
|
DB::statement('SET FOREIGN_KEY_CHECKS = 0;');
|
|
|
|
$category_id = GoodsCategory::orderBy('level', 'desc')->value('id');
|
|
if (!$category_id) {
|
|
$this->call(GoodsCategorySeeder::class);
|
|
$category_id = GoodsCategory::orderBy('level', 'desc')->value('id');
|
|
}
|
|
|
|
GoodsType::truncate();
|
|
$types = [
|
|
[
|
|
'name' => '手机',
|
|
'attr' => [
|
|
['name' => '主体', 'values' => ['入网型号', '上市年份', '品牌']],
|
|
['name' => '显示器', 'values' => ['屏幕类型', '物理分辨率']],
|
|
],
|
|
'spec' => [
|
|
['name' => '颜色', 'values' => ['白色', '红色', '黑色']],
|
|
['name' => '内存', 'values' => ['32G', '64G', '128G']],
|
|
],
|
|
'part' => [
|
|
['name' => '套餐', 'values' => ['套餐1', '套餐2', '套餐3']],
|
|
],
|
|
],
|
|
[
|
|
'name' => '笔记本电脑',
|
|
'attr' => [
|
|
['name' => '显示器', 'values' => ['屏幕类型', '物理分辨率']],
|
|
],
|
|
'spec' => [
|
|
['name' => '颜色', 'values' => ['白色', '灰色']],
|
|
['name' => '内存', 'values' => ['16G', '32G', '64G']],
|
|
],
|
|
'part' => [
|
|
['name' => '套餐', 'values' => ['优惠套装1', '优惠套装2', '优惠套装3']],
|
|
],
|
|
],
|
|
];
|
|
foreach ($types as $item) {
|
|
GoodsType::create($item);
|
|
}
|
|
|
|
GoodsBrand::truncate();
|
|
GoodsBrand::insert([
|
|
['name' => '三星', 'image' => 'https://img20.360buyimg.com/popshop/jfs/t1/1534/38/9873/3556/5bc93df2E73c40121/74dc92d16e483509.jpg'],
|
|
['name' => 'Apple', 'image' => 'https://img20.360buyimg.com/popshop/jfs/t2989/240/151377693/3895/30ad9044/574d36dbN262ef26d.jpg'],
|
|
]);
|
|
|
|
Goods::truncate();
|
|
GoodsSku::truncate();
|
|
$goodsList = [
|
|
[
|
|
'category_id' => $category_id,
|
|
'type_id' => 1,
|
|
'brand_id' => 1,
|
|
'goods_sn' => '1016',
|
|
'name' => '三星Galaxy Noet10+ 5G(SM-N9760)',
|
|
'cover_image' => 'https://img14.360buyimg.com/n5/s54x54_jfs/t1/85701/3/3164/116271/5ddcffaeEd7924f35/013d69c48b507982.jpg',
|
|
'content' => ['https://img30.360buyimg.com/sku/jfs/t1/91355/34/4028/288919/5de4c653Ed267b5d0/b67ac088ded04947.jpg'],
|
|
'images' => [
|
|
'https://img14.360buyimg.com/n0/jfs/t1/138249/34/51/266266/5edaed2fE2d4d4050/297b76afaff928bb.jpg',
|
|
'https://img14.360buyimg.com/n0/jfs/t1/85701/3/3164/116271/5ddcffaeEd7924f35/013d69c48b507982.jpg',
|
|
'https://img14.360buyimg.com/n0/jfs/t1/43997/21/12754/274595/5d5f87f1Ec419d2f9/358032d0a7a2ccd7.jpg',
|
|
],
|
|
'stock' => 100,
|
|
'price' => 6499.00,
|
|
'attr' => [
|
|
['name' => '主体', 'values' => [
|
|
['name' => '入网型号', 'value' => '5G'],
|
|
['name' => '品牌', 'value' => '三星Galaxy'],
|
|
['name' => '上市年份', 'value' => '2020'],
|
|
]],
|
|
],
|
|
'spec' => [
|
|
['name' => '颜色', 'values' => [
|
|
['name' => '白色', 'value' => 0],
|
|
['name' => '红色', 'value' => 800],
|
|
['name' => '黑色', 'value' => 0],
|
|
]],
|
|
['name' => '内存', 'values' => [
|
|
['name' => '32G', 'value' => 0],
|
|
['name' => '64G', 'value' => 1000],
|
|
['name' => '128G', 'value' => 2000],
|
|
]],
|
|
],
|
|
'part' => [
|
|
['name' => '套餐', 'values' => [
|
|
['name' => '套餐1', 'value' => 850],
|
|
['name' => '套餐2', 'value' => 1200],
|
|
['name' => '套餐3', 'value' => 1800],
|
|
]],
|
|
],
|
|
],
|
|
[
|
|
'category_id' => $category_id,
|
|
'type_id' => 2,
|
|
'brand_id' => 2,
|
|
'goods_sn' => '1017',
|
|
'name' => 'MacBook Pro 16英寸',
|
|
'cover_image' => 'https://img14.360buyimg.com/n0/jfs/t1/64979/31/15492/115459/5dd3d4f2E75b0a9a6/95c273eda00e67c0.jpg',
|
|
'description' => '',
|
|
'content' => ['https://img11.360buyimg.com/cms/jfs/t1/77779/20/15834/638477/5dd3d469Eca9fa4a7/26ff2bd661580a86.jpg'],
|
|
'images' => [
|
|
'https://img14.360buyimg.com/n0/jfs/t1/64979/31/15492/115459/5dd3d4f2E75b0a9a6/95c273eda00e67c0.jpg',
|
|
'https://img14.360buyimg.com/n0/jfs/t1/50902/13/16242/169086/5dd3d4f2E19e1994f/ff8ecd5a61c1bebb.jpg',
|
|
'https://img14.360buyimg.com/n0/jfs/t1/104429/27/2676/303491/5dd3d4f3E6fd2b80a/b7213eaf5be44b49.jpg',
|
|
],
|
|
'stock' => 150,
|
|
'price' => 17999.00,
|
|
'attr' => [
|
|
['name' => '显示器', 'values' => [
|
|
['name' => '屏幕类型', 'value' => 'LED 背光显示屏'],
|
|
['name' => '物理分辨率', 'value' => '3072 x 1920 (226 ppi)'],
|
|
]],
|
|
],
|
|
'spec' => [
|
|
['name' => '颜色', 'values' => [
|
|
['name' => '白色', 'value' => 0],
|
|
['name' => '灰色', 'value' => 0],
|
|
]],
|
|
['name' => '内存', 'values' => [
|
|
['name' => '16G', 'value' => 0],
|
|
['name' => '32G', 'value' => 3000],
|
|
['name' => '64G', 'value' => 6000],
|
|
]],
|
|
],
|
|
'part' => [
|
|
['name' => '套餐', 'values' => [
|
|
['name' => '优惠套装1', 'value' => 850],
|
|
['name' => '优惠套装2', 'value' => 650],
|
|
['name' => '优惠套装3', 'value' => 1000],
|
|
]],
|
|
],
|
|
],
|
|
];
|
|
|
|
$service = GoodsService::make();
|
|
foreach ($goodsList as $item) {
|
|
$goods = Goods::create($item);
|
|
$service->generateSku($goods);
|
|
}
|
|
}
|
|
}
|