36766-vm/db/seed_invoices.php
Flatlogic Bot 6c14b2436f 2.0
2025-12-18 09:40:37 +00:00

59 lines
2.3 KiB
PHP

<?php
require_once __DIR__ . '/config.php';
try {
$pdo = db();
// Check for users
$stmt = $pdo->query("SELECT id, dealer_id FROM users WHERE dealer_id IS NOT NULL AND dealer_id != 0 LIMIT 1");
$user = $stmt->fetch();
if (!$user) {
// Create a dealer
$stmt = $pdo->prepare("INSERT INTO dealers (name, email) VALUES (?, ?)");
$stmt->execute(['Dummy Dealer', 'dummy@dealer.com']);
$dealer_id = $pdo->lastInsertId();
// Create a user
$stmt = $pdo->prepare("INSERT INTO users (dealer_id, username, password_hash) VALUES (?, ?, ?)");
$stmt->execute([$dealer_id, 'dummyuser', password_hash('password', PASSWORD_DEFAULT)]);
$user_id = $pdo->lastInsertId();
} else {
$user_id = $user['id'];
$dealer_id = $user['dealer_id'];
}
// Check for orders
$stmt = $pdo->prepare("SELECT id FROM orders WHERE user_id = ? LIMIT 5");
$stmt->execute([$user_id]);
$orders = $stmt->fetchAll(PDO::FETCH_COLUMN);
if (count($orders) < 5) {
// Create some orders if there aren't enough
$stmt = $pdo->prepare("INSERT INTO orders (user_id, dealer_id, total_amount, status) VALUES (?, ?, ?, ?)");
for ($i = 0; $i < 5; $i++) {
$total_amount = rand(100, 1000);
$stmt->execute([$user_id, $dealer_id, $total_amount, 'Completed']);
}
$stmt = $pdo->prepare("SELECT id FROM orders WHERE user_id = ? LIMIT 5");
$stmt->execute([$user_id]);
$orders = $stmt->fetchAll(PDO::FETCH_COLUMN);
}
$stmt = $pdo->prepare("INSERT INTO invoices (dealer_id, order_id, invoice_date, due_date, total_amount, status, paid_amount) VALUES (?, ?, ?, ?, ?, ?, ?)");
foreach ($orders as $order_id) {
$invoice_date = date('Y-m-d', strtotime('-' . rand(1, 30) . ' days'));
$due_date = date('Y-m-d', strtotime($invoice_date . ' +30 days'));
$total_amount = rand(100, 1000);
$paid_amount = rand(0, $total_amount);
$status = ($paid_amount == $total_amount) ? 'paid' : 'pending';
$stmt->execute([$dealer_id, $order_id, $invoice_date, $due_date, $total_amount, $status, $paid_amount]);
}
echo "Dummy invoices created successfully." . PHP_EOL;
} catch (PDOException $e) {
die("DB ERROR: " . $e->getMessage());
}