Share 🚀 Quản lý đơn hàng với Supabase

lam71lt

Member
Hệ thống này sẽ giúp bạn:✅ Thêm đơn hàng mới
✅ Cập nhật trạng thái đơn hàng
✅ Lọc đơn hàng theo khách hàng, trạng thái
✅ Lưu lịch sử giao dịch




🔹 1. Tạo Database Trên Supabase


👉 Bước 1: Tạo Dự Án


  1. Truy cập
    Để xem link bị ẩn này, trước tiên bạn cần có tài khoản, vui lòng Đăng ký hoặc Đăng nhập
    , đăng nhập.
  2. Nhấn New Project, nhập thông tin, tạo mật khẩu database.

👉 Bước 2: Tạo Bảng orders


  1. Vào DatabaseTablesCreate Table.
  2. Đặt tên bảng: orders.
  3. Thêm các cột:
    • id → UUID (Primary Key, auto-generate)
    • customer_name → TEXT (Tên khách hàng)
    • product → TEXT (Tên sản phẩm)
    • quantity → INTEGER (Số lượng)
    • total_price → DECIMAL (Tổng tiền)
    • status → TEXT (Trạng thái: pending, shipped, delivered, cancelled)
    • created_at → TIMESTAMP (Mặc định: now())

📌 Lưu ý:


  • status nên có giá trị mặc định là pending.
  • total_price = quantity × giá sản phẩm (có thể tính tự động trong backend).

✅ Nhấn Save Table để lưu.




🔹 2. Quản Lý Đơn Hàng


🔹 Thêm Đơn Hàng Mới


📌 Dùng SQL trên Supabase


sql
CopyEdit
INSERT INTO orders (customer_name, product, quantity, total_price, status)
VALUES ('Nguyễn Văn A', 'Laptop Dell', 2, 30000000, 'pending');


📌 Dùng API Supabase


sh
CopyEdit
curl -X POST "
Để xem link bị ẩn này, trước tiên bạn cần có tài khoản, vui lòng Đăng ký hoặc Đăng nhập
" \
-H "apikey: YOUR_SUPABASE_KEY" \
-H "Content-Type: application/json" \
-d '{"customer_name": "Nguyễn Văn A", "product": "Laptop Dell", "quantity": 2, "total_price": 30000000, "status": "pending"}'




🔹 Lấy Danh Sách Đơn Hàng


📌 Lấy tất cả đơn hàng


sql
CopyEdit
SELECT * FROM orders;


📌 Lọc đơn hàng đang giao (shipped)


sql
CopyEdit
SELECT * FROM orders WHERE status = 'shipped';


📌 Dùng API Supabase


sh
CopyEdit
curl -X GET "
Để xem link bị ẩn này, trước tiên bạn cần có tài khoản, vui lòng Đăng ký hoặc Đăng nhập
" \
-H "apikey: YOUR_SUPABASE_KEY"




🔹 Cập Nhật Trạng Thái Đơn Hàng


📌 Chuyển trạng thái đơn hàng thành shipped


sql
CopyEdit
UPDATE orders
SET status = 'shipped'
WHERE id = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';


📌 Dùng API


sh
CopyEdit
curl -X PATCH "
Để xem link bị ẩn này, trước tiên bạn cần có tài khoản, vui lòng Đăng ký hoặc Đăng nhập
" \
-H "apikey: YOUR_SUPABASE_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "shipped"}'




🔹 Xóa Đơn Hàng


📌 Xóa đơn hàng bị hủy


sql
CopyEdit
DELETE FROM orders WHERE status = 'cancelled';




🔹 3. Sử Dụng Supabase Trong Python


📌 Cài thư viện


sh
CopyEdit
pip install supabase


📌 Kết nối Supabase


python
CopyEdit
from supabase import create_client

url = "
Để xem link bị ẩn này, trước tiên bạn cần có tài khoản, vui lòng Đăng ký hoặc Đăng nhập
"
key = "YOUR_SUPABASE_KEY"
supabase = create_client(url, key)

# Lấy danh sách đơn hàng
data = supabase.table("orders").select("*").execute()
print(data)


📌 Thêm đơn hàng bằng Python


python
CopyEdit
order = {
"customer_name": "Trần Thị B",
"product": "iPhone 15",
"quantity": 1,
"total_price": 25000000,
"status": "pending"
}
supabase.table("orders").insert(order).execute()


📌 Cập nhật trạng thái đơn hàng


python
CopyEdit
supabase.table("orders").update({"status": "delivered"}).eq("id", "xxxxxxxx-xxxx").execute()




✅ Kết Luận


Hệ thống này giúp bạn:


  • Quản lý đơn hàng online nhanh chóng.
  • Lưu trữ dữ liệu tập trung, dễ truy vấn.
  • Kết nối với Python để tự động hóa.
 
Back
Top