|
@@ -0,0 +1,121 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+use Illuminate\Database\Seeder;
|
|
|
|
+
|
|
|
|
+class MiniSeeder extends Seeder
|
|
|
|
+{
|
|
|
|
+ /**
|
|
|
|
+ * Run the database seeds.
|
|
|
|
+ *
|
|
|
|
+ * @return void
|
|
|
|
+ */
|
|
|
|
+ public function run()
|
|
|
|
+ {
|
|
|
|
+ // 创建角色、用户
|
|
|
|
+ $total = 20;
|
|
|
|
+ \App\Models\Role::truncate();
|
|
|
|
+ \App\Models\User::truncate();
|
|
|
|
+ for($i = 1; $i < $total; ++$i) {
|
|
|
|
+ $role = \App\Models\Role::create([
|
|
|
|
+ 'name' => '用户角色' . $i,
|
|
|
|
+ 'sort' => $i,
|
|
|
|
+ 'key' => 'role-' . $i
|
|
|
|
+ ]);
|
|
|
|
+
|
|
|
|
+ \App\Models\User::create([
|
|
|
|
+ 'role_id' => $role->id,
|
|
|
|
+ 'name' => '用户' . $i,
|
|
|
|
+ 'password' => bcrypt(123456),
|
|
|
|
+ 'phone' => $i < 10 ? '1234567890' . $i : '123456789' . $i
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 创建项目角色
|
|
|
|
+ \App\Models\ProjectRole::truncate();
|
|
|
|
+ for($i = 1; $i < $total; ++$i) {
|
|
|
|
+ \App\Models\ProjectRole::create([
|
|
|
|
+ 'name' => '项目角色' . $i,
|
|
|
|
+ 'level' => $i
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 创建项目,为项目分配用户和项目角色
|
|
|
|
+ \App\Models\Project::truncate();
|
|
|
|
+ \App\Models\ProjectUser::truncate();
|
|
|
|
+ $users = \App\Models\User::limit(3)->get();
|
|
|
|
+ $project_roles = \App\Models\ProjectRole::limit(3)->get();
|
|
|
|
+ for($i = 1; $i < $total; ++$i) {
|
|
|
|
+ $project = \App\Models\Project::create([
|
|
|
|
+ 'name' => '项目' . ($i + 2)
|
|
|
|
+ ]);
|
|
|
|
+ for($j = 0; $j < count($users); ++$j) {
|
|
|
|
+ \App\Models\ProjectUser::create([
|
|
|
|
+ 'project_id' => $project->id,
|
|
|
|
+ 'user_id' => $users[$j]->id,
|
|
|
|
+ 'project_role_id' => $project_roles[$j]->id
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 创建设备类型
|
|
|
|
+ $device_types = ['隧道掘进机', '钻机', '起重机械', '隧道牵引机械', '隧道掘进机', '混泥土泵送机械', '土石方机械', '运输机械', '其他'];
|
|
|
|
+ foreach($device_types as $key => $value) {
|
|
|
|
+ \App\Models\Device::create([
|
|
|
|
+ 'name' => $value,
|
|
|
|
+ 'sort' => $key + 1
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 创建需求工点
|
|
|
|
+ \App\Models\WorkPoint::truncate();
|
|
|
|
+ for($i = 1; $i < $total; ++$i) {
|
|
|
|
+ \App\Models\WorkPoint::create([
|
|
|
|
+ 'name' => '工点' . $i
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 创建订单状态
|
|
|
|
+ $this->call([
|
|
|
|
+ OptionSeeder::class
|
|
|
|
+ ]);
|
|
|
|
+
|
|
|
|
+ // 创建订单
|
|
|
|
+ \App\Models\Order::truncate();
|
|
|
|
+ \App\Models\OrderDevice::truncate();
|
|
|
|
+ $project = \App\Models\Project::first();
|
|
|
|
+ $statuses = \App\Models\Option::get('orders', 'status');
|
|
|
|
+ $work_points = \App\Models\WorkPoint::all();
|
|
|
|
+ $user = \App\Models\User::first();
|
|
|
|
+ $devices = \App\Models\Device::all();
|
|
|
|
+ for($i = 1; $i < 2 * $total; ++$i) {
|
|
|
|
+ $project_role = $project_roles->random();
|
|
|
|
+ $is_draft = collect([1, 2])->random();
|
|
|
|
+ $status = $statuses->random()->id;
|
|
|
|
+ $order = \App\Models\Order::create([
|
|
|
|
+ 'work_point_id' => $work_points->random()->id,
|
|
|
|
+ 'is_draft' => $is_draft,
|
|
|
|
+ 'status' => $status,
|
|
|
|
+ 'order_number' => \App\Models\Order::createOrderNumber(),
|
|
|
|
+ 'project_id' => $project->id,
|
|
|
|
+ 'user_id' => $user->id,
|
|
|
|
+ 'project_role_id' => $project_role->id
|
|
|
|
+ ]);
|
|
|
|
+
|
|
|
|
+ $total = 0;
|
|
|
|
+
|
|
|
|
+ for($j = 1; $j < 3; ++$j) {
|
|
|
|
+ $quantity = mt_rand(1, 5);
|
|
|
|
+ $price = mt_rand(1, 10) * 1000;
|
|
|
|
+ $total = $total + $quantity * $price;
|
|
|
|
+ \App\Models\OrderDevice::create([
|
|
|
|
+ 'name' => '设备' . $j,
|
|
|
|
+ 'order_id' => $order->id,
|
|
|
|
+ 'device_id' => $devices->random()->id,
|
|
|
|
+ 'quantity' => $quantity,
|
|
|
|
+ 'price' => $price
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ $order->update(['money' => $total]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|