4
0
Fork 0
dcat-admin-goods/database/seeders/GoodsSeeder.php

183 lines
8.3 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],
]],
],
],
[
'category_id' => $category_id,
'type_id' => null,
'brand_id' => null,
'goods_sn' => '100026941752',
'name' => 'K8蓝牙双模机械键盘',
'cover_image' => 'https://img10.360buyimg.com/N6/s60x60_jfs/t1/93689/26/29208/314387/62c2ba03E05e1a7be/4bc834afac6df7bb.jpg',
'description' => '',
'content' => ['https://img30.360buyimg.com/sku/jfs/t1/11779/12/19259/52944/62fdf030E2a066294/99d11515015b29a4.jpg', 'https://img30.360buyimg.com/sku/jfs/t1/211607/38/4986/702616/6165654eE212dd412/ece0aab240b5db9b.jpg'],
'images' => ['https://img12.360buyimg.com/n1/s450x450_jfs/t1/93689/26/29208/314387/62c2ba03E05e1a7be/4bc834afac6df7bb.jpg', 'https://img12.360buyimg.com/n1/s450x450_jfs/t1/208948/14/4177/99717/61600a26Efbdbbf8b/c9e1abd339f119f1.jpg'],
'stock' => 100,
'price' => 449,
'attr' => [
['name' => '基本信息', 'values' => [
['name' => '商品名称', 'value' => '京东京造K3'],
['name' => '商品毛重', 'value' => '0.785kg'],
['name' => '兼容系统', 'value' => 'Windows,MacOS,iOS'],
]]
],
'spec' => null,
'part' => null,
]
];
$service = GoodsService::make();
foreach ($goodsList as $item) {
$goods = Goods::create($item);
$service->generateSku($goods);
}
}
}