<?php
require_once 'includes/config.php';

// Tạo hoặc vá bảng don_hang_gian_hang
try {
    $pdo->exec("
        CREATE TABLE IF NOT EXISTS don_hang_gian_hang (
            id                  INT AUTO_INCREMENT PRIMARY KEY,
            ma_don_hang         VARCHAR(20) NOT NULL UNIQUE,
            id_san_pham         INT NOT NULL,
            ten_san_pham        VARCHAR(500) NOT NULL,
            ma_hieu             VARCHAR(100) DEFAULT NULL,
            ten_khach_hang      VARCHAR(255) NOT NULL,
            so_dien_thoai       VARCHAR(20) NOT NULL,
            dia_chi             TEXT NOT NULL,
            so_luong            INT NOT NULL DEFAULT 1,
            gia_ban             DECIMAL(15,0) NOT NULL DEFAULT 0,
            tong_tien           DECIMAL(15,0) NOT NULL DEFAULT 0,
            ma_gioi_thieu       VARCHAR(50) DEFAULT NULL,
            nguoi_gioi_thieu_id INT DEFAULT NULL,
            trang_thai          ENUM('cho_xu_ly','cho_xac_nhan','da_thanh_toan','dang_giao','hoan_thanh','da_huy') NOT NULL DEFAULT 'cho_xu_ly',
            ghi_chu             TEXT DEFAULT NULL,
            ngay_tao            TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            KEY idx_ma_don (ma_don_hang),
            KEY idx_sp (id_san_pham)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
    ");
} catch (Exception $e) {}

// Thêm các cột còn thiếu nếu bảng đã tồn tại từ trước
$alter_cols = [
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS ma_don_hang VARCHAR(20) NOT NULL DEFAULT '' AFTER id",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS ten_san_pham VARCHAR(500) NOT NULL DEFAULT '' AFTER id_san_pham",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS ma_hieu VARCHAR(100) DEFAULT NULL AFTER ten_san_pham",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS dia_chi TEXT NOT NULL AFTER so_dien_thoai",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS so_luong INT NOT NULL DEFAULT 1 AFTER dia_chi",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS gia_ban DECIMAL(15,0) NOT NULL DEFAULT 0 AFTER so_luong",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS tong_tien DECIMAL(15,0) NOT NULL DEFAULT 0 AFTER gia_ban",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS nguoi_gioi_thieu_id INT DEFAULT NULL AFTER ma_gioi_thieu",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS trang_thai ENUM('cho_xu_ly','cho_xac_nhan','da_thanh_toan','dang_giao','hoan_thanh','da_huy') NOT NULL DEFAULT 'cho_xu_ly'",
    "ALTER TABLE don_hang_gian_hang ADD COLUMN IF NOT EXISTS ghi_chu TEXT DEFAULT NULL",
];
foreach ($alter_cols as $sql) { try { $pdo->exec($sql); } catch (Exception $e) {} }
// Đảm bảo UNIQUE index cho ma_don_hang
try { $pdo->exec("ALTER TABLE don_hang_gian_hang ADD UNIQUE INDEX IF NOT EXISTS idx_ma_don (ma_don_hang)"); } catch (Exception $e) {}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: gian-hang.php');
    exit;
}

$id_san_pham    = (int)($_POST['id_san_pham'] ?? 0);
$so_luong       = max(1, (int)($_POST['so_luong'] ?? 1));
$ten_kh         = trim($_POST['ten_khach_hang'] ?? '');
$sdt            = trim($_POST['so_dien_thoai'] ?? '');
$dia_chi        = trim($_POST['dia_chi'] ?? '');
$ma_gioi_thieu  = strtoupper(trim($_POST['ma_gioi_thieu'] ?? ''));

if ($id_san_pham <= 0 || empty($ten_kh) || empty($sdt) || empty($dia_chi)) {
    header('Location: gian-hang.php');
    exit;
}

// Lấy thông tin sản phẩm
$stmt_sp = $pdo->prepare("SELECT * FROM san_pham_gian_hang WHERE id = ? AND trang_thai = 'hien_thi'");
$stmt_sp->execute([$id_san_pham]);
$sp = $stmt_sp->fetch();

if (!$sp) {
    header('Location: gian-hang.php');
    exit;
}

$gia_ban = !empty($sp['gia_khuyen_mai']) && $sp['gia_khuyen_mai'] > 0
    ? (int)$sp['gia_khuyen_mai']
    : (int)($sp['gia_ban'] ?: $sp['gia_goc']);
$tong_tien = $gia_ban * $so_luong;

// Tìm người giới thiệu
$nguoi_gioi_thieu_id = null;
if (!empty($ma_gioi_thieu)) {
    $stmt_ref = $pdo->prepare("SELECT id FROM thanh_vien WHERE ma_gioi_thieu = ? LIMIT 1");
    $stmt_ref->execute([$ma_gioi_thieu]);
    $ref = $stmt_ref->fetch();
    if ($ref) $nguoi_gioi_thieu_id = (int)$ref['id'];
}

// Sinh mã đơn hàng
$ma_don = 'DH' . date('ymd') . strtoupper(substr(bin2hex(random_bytes(3)), 0, 5));

// Lưu đơn hàng
try {
    $stmt_ins = $pdo->prepare("
        INSERT INTO don_hang_gian_hang
            (ma_don_hang, id_san_pham, ten_san_pham, ma_hieu, ten_khach_hang, so_dien_thoai, dia_chi, so_luong, gia_ban, tong_tien, ma_gioi_thieu, nguoi_gioi_thieu_id, trang_thai)
        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    ");
    $stmt_ins->execute([
        $ma_don, $id_san_pham, $sp['ten_san_pham'], $sp['ma_hieu'] ?? '',
        $ten_kh, $sdt, $dia_chi, $so_luong, $gia_ban, $tong_tien,
        $ma_gioi_thieu ?: null, $nguoi_gioi_thieu_id, 'cho_xu_ly'
    ]);
} catch (PDOException $e) {
    die("Lỗi tạo đơn hàng: " . $e->getMessage());
}

// Lấy thông tin ngân hàng từ DB, fallback về thông tin cứng
$ngan_hang = [
    'ten'            => 'MB Bank',
    'so_tk'          => '68228568888',
    'chu_tk'         => 'PHAM LINH NGOC',
    'ngan_hang_code' => 'MB',
];
try {
    $row_nh = $pdo->query("SELECT * FROM cau_hinh_thanh_toan LIMIT 1")->fetch();
    if ($row_nh && !empty($row_nh['so_tai_khoan'])) {
        $ngan_hang = [
            'ten'            => $row_nh['ten_ngan_hang'],
            'so_tk'          => $row_nh['so_tai_khoan'],
            'chu_tk'         => $row_nh['chu_tai_khoan'],
            'ngan_hang_code' => $row_nh['ma_ngan_hang'],
        ];
    }
} catch (Exception $e) {}

// Tạo QR VietQR
$noi_dung_ck = urlencode("Thanh toan {$ma_don} {$ten_kh}");
$qr_url = '';
if (!empty($ngan_hang['so_tk']) && !empty($ngan_hang['ngan_hang_code'])) {
    $qr_url = "https://img.vietqr.io/image/{$ngan_hang['ngan_hang_code']}-{$ngan_hang['so_tk']}-compact2.png?amount={$tong_tien}&addInfo={$noi_dung_ck}&accountName=" . urlencode($ngan_hang['chu_tk']);
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Xác nhận đơn hàng <?= htmlspecialchars($ma_don) ?></title>
    <style>
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: 'Inter', system-ui, sans-serif; background: #f1f5f9; color: #1e293b; min-height: 100vh; }

        .page-wrap { max-width: 780px; margin: 0 auto; padding: 32px 20px 60px; }

        /* Header xác nhận */
        .confirm-header { text-align: center; margin-bottom: 32px; }
        .confirm-icon { width: 72px; height: 72px; background: linear-gradient(135deg, #22c55e, #16a34a); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; margin: 0 auto 16px; box-shadow: 0 8px 24px rgba(34,197,94,0.35); }
        .confirm-header h1 { font-size: 1.6rem; font-weight: 900; color: #0f172a; margin-bottom: 6px; }
        .confirm-header p { color: #64748b; font-size: 0.95rem; }

        .card { background: #fff; border-radius: 20px; padding: 28px; box-shadow: 0 4px 20px rgba(15,23,42,0.07); margin-bottom: 20px; }
        .card-title { font-size: 1rem; font-weight: 800; color: #0f172a; margin-bottom: 18px; display: flex; align-items: center; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid #f1f5f9; }

        /* Thông tin đơn hàng */
        .order-row { display: flex; justify-content: space-between; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid #f8fafc; font-size: 0.92rem; gap: 12px; }
        .order-row:last-child { border-bottom: none; }
        .order-row .label { color: #64748b; flex-shrink: 0; }
        .order-row .value { font-weight: 600; color: #0f172a; text-align: right; }
        .order-row .value.price { color: #dc2626; font-size: 1.15rem; font-weight: 900; }
        .ma-don-badge { display: inline-block; background: #eff6ff; color: #1d4ed8; font-weight: 800; font-size: 1rem; padding: 4px 14px; border-radius: 8px; letter-spacing: 1px; }

        /* Thanh toán */
        .payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
        .bank-info-list { display: flex; flex-direction: column; gap: 14px; }
        .bank-field { background: #f8fafc; border-radius: 12px; padding: 14px 16px; }
        .bank-field .bf-label { font-size: 0.75rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
        .bank-field .bf-value { font-size: 1rem; font-weight: 800; color: #0f172a; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
        .btn-copy { background: none; border: none; cursor: pointer; color: #2563eb; font-size: 0.8rem; font-weight: 700; padding: 4px 8px; border-radius: 6px; transition: background .15s; flex-shrink: 0; }
        .btn-copy:hover { background: #eff6ff; }
        .btn-copy.copied { color: #16a34a; }

        .noi-dung-ck { background: #fefce8; border: 1.5px dashed #fbbf24; border-radius: 12px; padding: 14px 16px; }
        .noi-dung-ck .bf-label { font-size: 0.75rem; font-weight: 700; color: #92400e; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
        .noi-dung-ck .bf-value { font-size: 1rem; font-weight: 800; color: #92400e; display: flex; align-items: center; justify-content: space-between; gap: 8px; }

        /* QR */
        .qr-wrap { display: flex; flex-direction: column; align-items: center; gap: 12px; }
        .qr-img { width: 100%; max-width: 220px; border-radius: 16px; border: 2px solid #e2e8f0; padding: 8px; background: #fff; }
        .qr-note { font-size: 0.8rem; color: #64748b; text-align: center; line-height: 1.5; }
        .no-qr { width: 100%; aspect-ratio: 1; max-width: 220px; background: #f8fafc; border-radius: 16px; border: 2px dashed #e2e8f0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #94a3b8; font-size: 0.85rem; text-align: center; padding: 20px; }

        /* Lưu ý */
        .notice-box { background: #fffbeb; border: 1.5px solid #fde68a; border-radius: 14px; padding: 18px 20px; }
        .notice-box ul { padding-left: 20px; }
        .notice-box li { font-size: 0.9rem; color: #78350f; line-height: 1.9; }

        /* Nút */
        .action-row { display: flex; gap: 14px; margin-top: 8px; }
        .btn-primary { flex: 1; padding: 15px; border: none; border-radius: 14px; background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; font-size: 1rem; font-weight: 800; cursor: pointer; text-align: center; text-decoration: none; display: block; transition: transform .15s, box-shadow .15s; box-shadow: 0 4px 16px rgba(37,99,235,0.3); }
        .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,99,235,0.4); }
        .btn-secondary { flex: 1; padding: 15px; border-radius: 14px; background: #fff; border: 2px solid #e2e8f0; color: #475569; font-size: 1rem; font-weight: 700; cursor: pointer; text-align: center; text-decoration: none; display: block; transition: background .15s; }
        .btn-secondary:hover { background: #f8fafc; }

        @media (max-width: 600px) {
            .payment-grid { grid-template-columns: 1fr; }
            .action-row { flex-direction: column; }
            .qr-wrap { order: -1; }
        }
    </style>
</head>
<body>
<div class="page-wrap">

    <div class="confirm-header">
        <div class="confirm-icon">✅</div>
        <h1>Đặt hàng thành công!</h1>
        <p>Vui lòng chuyển khoản để hoàn tất đơn hàng. Chúng tôi sẽ liên hệ xác nhận sau khi nhận được thanh toán.</p>
    </div>

    <!-- THÔNG TIN ĐƠN HÀNG -->
    <div class="card">
        <div class="card-title">🧾 Thông tin đơn hàng</div>

        <div class="order-row">
            <span class="label">Mã đơn hàng</span>
            <span class="value"><span class="ma-don-badge"><?= htmlspecialchars($ma_don) ?></span></span>
        </div>
        <div class="order-row">
            <span class="label">Sản phẩm</span>
            <span class="value"><?= htmlspecialchars($sp['ten_san_pham']) ?></span>
        </div>
        <?php if (!empty($sp['ma_hieu'])): ?>
        <div class="order-row">
            <span class="label">SKU</span>
            <span class="value"><?= htmlspecialchars($sp['ma_hieu']) ?></span>
        </div>
        <?php endif; ?>
        <div class="order-row">
            <span class="label">Số lượng</span>
            <span class="value"><?= (int)$so_luong ?></span>
        </div>
        <div class="order-row">
            <span class="label">Khách hàng</span>
            <span class="value"><?= htmlspecialchars($ten_kh) ?></span>
        </div>
        <div class="order-row">
            <span class="label">Số điện thoại</span>
            <span class="value"><?= htmlspecialchars($sdt) ?></span>
        </div>
        <div class="order-row">
            <span class="label">Địa chỉ nhận hàng</span>
            <span class="value"><?= htmlspecialchars($dia_chi) ?></span>
        </div>
        <?php if (!empty($ma_gioi_thieu)): ?>
        <div class="order-row">
            <span class="label">Mã giới thiệu</span>
            <span class="value"><?= htmlspecialchars($ma_gioi_thieu) ?></span>
        </div>
        <?php endif; ?>
        <div class="order-row" style="margin-top: 6px; padding-top: 14px; border-top: 2px solid #f1f5f9; border-bottom: none;">
            <span class="label" style="font-weight: 700; color: #0f172a;">Tổng thanh toán</span>
            <span class="value price"><?= number_format($tong_tien) ?> ₫</span>
        </div>
    </div>

    <!-- THANH TOÁN -->
    <div class="card">
        <div class="card-title">💳 Thanh toán chuyển khoản</div>

        <div class="payment-grid">
            <!-- Thông tin tài khoản -->
            <div class="bank-info-list">
                <?php if (!empty($ngan_hang['ten'])): ?>
                <div class="bank-field">
                    <div class="bf-label">Ngân hàng</div>
                    <div class="bf-value"><?= htmlspecialchars($ngan_hang['ten']) ?></div>
                </div>
                <?php endif; ?>

                <?php if (!empty($ngan_hang['so_tk'])): ?>
                <div class="bank-field">
                    <div class="bf-label">Số tài khoản</div>
                    <div class="bf-value">
                        <span id="so_tk"><?= htmlspecialchars($ngan_hang['so_tk']) ?></span>
                        <button class="btn-copy" onclick="copyText('so_tk', this)">📋 Sao chép</button>
                    </div>
                </div>
                <?php endif; ?>

                <?php if (!empty($ngan_hang['chu_tk'])): ?>
                <div class="bank-field">
                    <div class="bf-label">Chủ tài khoản</div>
                    <div class="bf-value"><?= htmlspecialchars(strtoupper($ngan_hang['chu_tk'])) ?></div>
                </div>
                <?php endif; ?>

                <div class="bank-field">
                    <div class="bf-label">Số tiền</div>
                    <div class="bf-value" style="color: #dc2626;">
                        <span id="so_tien"><?= number_format($tong_tien) ?> ₫</span>
                        <button class="btn-copy" onclick="copyText('so_tien', this)">📋 Sao chép</button>
                    </div>
                </div>

                <div class="noi-dung-ck">
                    <div class="bf-label">⚠️ Nội dung chuyển khoản (bắt buộc)</div>
                    <div class="bf-value">
                        <span id="noi_dung_ck"><?= htmlspecialchars("Thanh toan {$ma_don} {$ten_kh}") ?></span>
                        <button class="btn-copy" onclick="copyText('noi_dung_ck', this)">📋 Sao chép</button>
                    </div>
                </div>
            </div>

            <!-- QR Code -->
            <div class="qr-wrap">
                <?php if (!empty($qr_url)): ?>
                    <img src="<?= htmlspecialchars($qr_url) ?>" alt="QR chuyển khoản" class="qr-img"
                         onerror="this.parentNode.innerHTML='<div class=\'no-qr\'>📵<span>Không tải được QR<br>Vui lòng nhập thủ công</span></div>'">
                    <div class="qr-note">Quét mã QR bằng app ngân hàng<br>để chuyển khoản tự động</div>
                <?php else: ?>
                    <div class="no-qr">
                        📵
                        <span>Chưa cấu hình QR<br>Vui lòng chuyển khoản<br>theo thông tin bên trái</span>
                    </div>
                <?php endif; ?>
            </div>
        </div>
    </div>

    <!-- LƯU Ý -->
    <div class="notice-box" style="margin-bottom: 24px;">
        <ul>
            <li>Nhập <strong>đúng nội dung chuyển khoản</strong> để đơn hàng được xác nhận tự động.</li>
            <li>Sau khi chuyển khoản, chúng tôi sẽ liên hệ qua số <strong><?= htmlspecialchars($sdt) ?></strong> để xác nhận và sắp xếp giao hàng.</li>
            <li>Đơn hàng sẽ bị hủy nếu không thanh toán trong vòng <strong>24 giờ</strong>.</li>
            <li>Mọi thắc mắc vui lòng liên hệ fanpage hoặc số hotline của chúng tôi.</li>
        </ul>
    </div>

    <div class="action-row">
        <a href="gian-hang.php" class="btn-secondary">← Tiếp tục mua sắm</a>
        <a href="lien-he.php" class="btn-primary">📞 Liên hệ hỗ trợ</a>
    </div>

</div>

<script>
function copyText(id, btn) {
    var text = document.getElementById(id).innerText.replace(' ₫', '').replace(/\./g, '').trim();
    navigator.clipboard.writeText(text).then(function() {
        btn.textContent = '✅ Đã sao chép';
        btn.classList.add('copied');
        setTimeout(function() {
            btn.textContent = '📋 Sao chép';
            btn.classList.remove('copied');
        }, 2000);
    }).catch(function() {
        // Fallback cho trình duyệt cũ
        var el = document.createElement('textarea');
        el.value = text;
        document.body.appendChild(el);
        el.select();
        document.execCommand('copy');
        document.body.removeChild(el);
        btn.textContent = '✅ Đã sao chép';
        btn.classList.add('copied');
        setTimeout(function() {
            btn.textContent = '📋 Sao chép';
            btn.classList.remove('copied');
        }, 2000);
    });
}
</script>

</body>
</html>
