diff --git a/shop-routes/order.js b/shop-routes/order.js index df0b4817f5beb99471dfdadc784267c528162758..548028ea054ff8255d35645369249d043acacc1d 100644 --- a/shop-routes/order.js +++ b/shop-routes/order.js @@ -42,6 +42,40 @@ router.get('/history', isAuthenticated, async (req, res) => { } }); +// แสดงรายละเอียดออเดอร์ (เฉพาะผู้ที่ Login) +router.get('/detail/:orderId', isAuthenticated, async (req, res) => { + try { + const { orderId } = req.params; + + // ดึงข้อมูลออเดอร์ + const [orderResults] = await pool.query( + `SELECT id, total_amount, status, shipping_address, created_at + FROM orders WHERE id = ? AND session_id = ?`, + [orderId, req.session.id] + ); + + if (orderResults.length === 0) { + return res.status(404).send("ไม่พบคำสั่งซื้อ หรือไม่มีสิทธิ์เข้าถึง"); + } + + const order = orderResults[0]; + + // ดึงรายการสินค้าในออเดอร์ + const [items] = await pool.query( + `SELECT products.name, products.image_url, order_items.quantity, order_items.price + FROM order_items + JOIN products ON order_items.product_id = products.id + WHERE order_items.order_id = ?`, + [orderId] + ); + + res.render('order-detail', { order, items }); + } catch (error) { + console.error(error); + res.status(500).send('เกิดข้อผิดพลาดในการโหลดรายละเอียดคำสั่งซื้อ'); + } +}); + // อัปเดตที่อยู่จัดส่งของคำสั่งซื้อ router.put('/update/:orderId', async (req, res) => { try {