D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
developers.ghanempharmacy.com
/
database
/
seeders
/
Filename :
AdminNotificationSeeder.php
back
Copy
<?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use App\Models\AdminNotification; use App\Models\Order; use App\Models\Product; use App\Models\SupportTicket; use App\Models\User; class AdminNotificationSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { AdminNotification::truncate(); // Clear existing data // Ensure we have a customer $customer = User::first(); if (!$customer) { $customer = User::create([ 'f_name' => 'John', 'l_name' => 'Doe', 'email' => 'customer@example.com', 'phone' => '1234567890', 'password' => bcrypt('12345678'), 'is_active' => 1, ]); } // Ensure we have a product $product = Product::first(); if (!$product) { $product = Product::create([ 'name' => 'Paracetamol 500mg', 'slug' => 'paracetamol-500mg', 'unit_price' => 10.00, 'purchase_price' => 5.00, 'tax' => 0, 'category_ids' => json_encode([]), 'colors' => json_encode([]), 'choice_options' => json_encode([]), 'variation' => json_encode([]), 'unit' => 'pc', 'min_qty' => 1, 'refundable' => 1, 'added_by' => 'admin', 'current_stock' => 100, 'minimum_order_qty' => 5, ]); } // Ensure we have an order $order = Order::first(); if (!$order) { $order = Order::create([ 'customer_id' => $customer->id, 'order_amount' => 100.00, 'order_status' => 'pending', 'payment_status' => 'unpaid', 'created_at' => now(), 'updated_at' => now(), ]); } // Ensure we have a support ticket $ticket = SupportTicket::first(); if (!$ticket) { $ticket = SupportTicket::create([ 'customer_id' => $customer->id, 'subject' => 'Issue with payment', 'type' => 'payment_issue', 'priority' => 'high', 'description' => 'I cannot make a payment.', 'status' => 'open', 'created_at' => now(), 'updated_at' => now(), ]); } $notifications = [ [ 'title' => 'New Order Placed', 'description' => 'Order #' . $order->id . ' has been placed by ' . $customer->f_name . '.', 'image' => null, 'type' => 'order', 'type_id' => $order->id, 'is_read' => 0, 'created_at' => now(), 'updated_at' => now(), ], [ 'title' => 'Product Low Stock', 'description' => 'Product "' . $product->name . '" is low on stock.', 'image' => null, 'type' => 'stock', 'type_id' => $product->id, 'is_read' => 0, 'created_at' => now()->subMinutes(10), 'updated_at' => now()->subMinutes(10), ], [ 'title' => 'New Support Ticket', 'description' => 'New ticket "' . $ticket->subject . '" created.', 'image' => null, 'type' => 'ticket', 'type_id' => $ticket->id, 'is_read' => 0, 'created_at' => now()->subHours(1), 'updated_at' => now()->subHours(1), ], [ 'title' => 'Product Out of Stock', 'description' => 'Product "' . $product->name . '" is out of stock!', 'image' => null, 'type' => 'stock', 'type_id' => $product->id, 'is_read' => 1, // Read notification 'created_at' => now()->subDays(1), 'updated_at' => now()->subDays(1), ], ]; DB::table('admin_notifications')->insert($notifications); } }