'用户角色' . $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]); } } }