DatabaseSeeder.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. namespace Database\Seeders;
  3. // use Illuminate\Database\Console\Seeds\WithoutModelEvents;
  4. use App\Models\Auth\AdminGroup;
  5. use App\Models\Auth\AdminPermission;
  6. use App\Models\Goods\Category;
  7. use App\Models\Goods\Goods;
  8. use App\Models\Goods\GoodsCategoryMap;
  9. use App\Models\Goods\GoodsSku;
  10. use App\Models\Goods\Spec;
  11. use App\Models\Goods\SpecAttr;
  12. use App\Models\Setting;
  13. use App\Models\User\User;
  14. use App\Models\User\UserCompany;
  15. use Faker\Provider\Image;
  16. use Faker\Provider\Text;
  17. use Illuminate\Database\Seeder;
  18. use Illuminate\Support\Facades\DB;
  19. class DatabaseSeeder extends Seeder
  20. {
  21. protected $user;
  22. /**
  23. * Seed the application's database.
  24. *
  25. * @return void
  26. */
  27. public function run()
  28. {
  29. $this->auth();
  30. $this->user = User::create([
  31. "password" => hashid_encode("111111"),
  32. "email" => "liantiao@lientiao.com",
  33. "status" => User::STATUS_OK,
  34. "group_id" => 1,
  35. "phone" => 15012341234,
  36. "extra" => [
  37. "permissions" => [1, 2],
  38. ],
  39. ]);
  40. User::create([
  41. "password" => hashid_encode("111111"),
  42. "email" => "normal@lientiao.com",
  43. "status" => User::STATUS_OK,
  44. "group_id" => 2,
  45. "phone" => 13012341234,
  46. ]);
  47. $this->company();
  48. Setting::create([
  49. "type" => Setting::TYPE_BANNER,
  50. "key" => "banner1",
  51. "value" => ["is_use" => 1, "imageUrl" => "https://fendi-liaona.oss-cn-hangzhou.aliyuncs.com/yimei/logo/20230427/0db2bfbd1d3eccd33e03894128efdab1.png", "sort" => 9],
  52. ]);
  53. Setting::create([
  54. "type" => Setting::TYPE_HOT_KEYWORD,
  55. "key" => "hot_keyword",
  56. "value" => ["热搜词1", "热搜词2"],
  57. ]);
  58. $this->goods();
  59. }
  60. public function goods()
  61. {
  62. Spec::truncate();
  63. SpecAttr::truncate();
  64. Category::truncate();
  65. Goods::truncate();
  66. GoodsCategoryMap::truncate();
  67. GoodsSku::truncate();
  68. Spec::create(["name" => "颜色"]);
  69. Spec::create(["name" => "大小"]);
  70. SpecAttr::create(["spec_id" => 1, "name" => "红色"]);
  71. SpecAttr::create(["spec_id" => 1, "name" => "白色"]);
  72. SpecAttr::create(["spec_id" => 2, "name" => "大号"]);
  73. SpecAttr::create(["spec_id" => 2, "name" => "小号"]);
  74. Category::create(["name" => "一级分类", "thumb" => Image::imageUrl(300, 300), "level" => 1, "parent_id" => 0]);
  75. Category::create(["name" => "一级分类", "thumb" => Image::imageUrl(300, 300), "level" => 2, "parent_id" => 1]);
  76. Goods::create(["name" => "测试商品", "image_list" => [Image::imageUrl(), Image::imageUrl()], "spec" => [1, 2]]);
  77. GoodsCategoryMap::create(["goods_id" => 1, "category_id" => 2]);
  78. GoodsSku::create(["goods_id" => 1, "sn" => substr(md5(microtime()), 0, 6), "spec_attr_list" => [1, 3]]);
  79. GoodsSku::create(["goods_id" => 1, "sn" => substr(md5(microtime()), 0, 6), "spec_attr_list" => [1, 4]]);
  80. GoodsSku::create(["goods_id" => 1, "sn" => substr(md5(microtime()), 0, 6), "spec_attr_list" => [2, 3]]);
  81. GoodsSku::create(["goods_id" => 1, "sn" => substr(md5(microtime()), 0, 6), "spec_attr_list" => [2, 4]]);
  82. }
  83. public function company()
  84. {
  85. UserCompany::create(["name" => "测试企业", "tax_no" => "ooxx", "user_id" => $this->user->id]);
  86. }
  87. private function auth()
  88. {
  89. AdminGroup::truncate();
  90. AdminPermission::truncate();
  91. AdminGroup::create(["name" => "超级管理员"]);
  92. AdminGroup::create(["name" => "普通管理员"]);
  93. AdminGroup::create(["name" => "员工"]);
  94. AdminPermission::create(["name" => "权限1", "code" => "code1"]);
  95. AdminPermission::create(["name" => "权限2", "code" => "code2"]);
  96. }
  97. }