Skip to main content

TMS-1306: wishlist - yêu thích

Tài liệu mô tả trang "Wishlist-Yêu thích" trên trang web

1. Mô tả tổng quan

Trang Yêu thích là nơi hiển thị danh sách các sản phẩm mà người dùng đã đánh dấu yêu thích với sản phẩm bất kì. Tại đây, người dùng có thể:

  • Xem danh sách sản phẩm đã đánh dấu yêu thích.
  • Xóa sản phẩm khỏi danh sách yêu thích.
  • Tiến hành thêm vào giỏ hàng

2. Các chức năng và luồng hoạt động

2.1 Thêm sản phẩm vào danh sách yêu thích (Add to Wishlist)

  • Khi người dùng nhấn nút Add To Wishlist tại bất kỳ trang danh sách sản phẩm hoặc chi tiết sản phẩm nào, sản phẩm đó sẽ được thêm vào danh sách yêu thích.
  • Hệ thống sẽ hiển thị sản phẩm ngay trên yêu thích (wishlist) với thông tin chi tiết.

2.2 Thêm sản phẩm vào giỏ hàng (Add to Cart)

Thêm 1 sản phẩm vào giỏ hàng:

  • Khi người dùng nhấn nút Add To Cart tại trang yêu thích ở từng dòng, sản phẩm đó sẽ được thêm vào giỏ hàng.
  • Hệ thống sẽ hiển thị sản phẩm ngay trên trang giỏ hàng với thông tin chi tiết.

Thêm nhiều sản phẩm vào giỏ hàng:

  • Người dùng tick vào ô checkbox hoặc chọn tất cả sản phẩm cùng lúc.
  • Khi người dùng nhấn nút Add To Cart ở trên danh sách yêu thích, các sản phẩm đó sẽ được thêm vào giỏ hàng.
  • Hệ thống sẽ hiển thị sản phẩm ngay trên trang giỏ hàng với thông tin chi tiết.

2.3 Chọn sản phẩm để xóa khỏi Danh sách yêu thích

Khi nhấn nút icon thùng rác ở mỗi dòng, hệ thống sẽ tiến hành xóa sản phẩm đó ở trang.

Chọn xóa danh sách sản phẩm:

  • Người dùng có thể chọn từng sản phẩm bằng cách tick vào ô checkbox hoặc chọn tất cả sản phẩm cùng lúc.
  • Chỉ các sản phẩm được chọn mới được xóa khi nhấn xóa.a ở phía trên danh sách.

2.4 Xóa sản phẩm khỏi Danh sách yêu thích

Khi nhấn nút icon thùng rác ở mỗi dòng, hệ thống sẽ tiến hành xóa sản phẩm đó ở trang.


3. API Endpoint liên quan

Phương thức Route Mô tả
GET /api/v1/auth/get/shop-orderwishlist Lấy dữ liệu giỏ hàngwishlist từ database
POST /api/v1/auth/post/shop-orderwishlist Lưu dữ liệu giỏ hàngwishlist vào database
POST /api/v1/auth/post/shop-order/updatewishlist/delete CậpXóa nhật1 giỏhoặc hàngnhiều (thaysản đổphẩm ra khỏi số lượng, xóa)
POST/api/v1/auth/post/shop-order/checkoutXử lý thanh toán giỏ hàngdatabase

4. Cấu trúc dữ liệu giỏ hàng

4.1 Bảng ecom.shop-orderwishlist

  • Chứa thông tin đơn hàng của người dùng.
Trường (EN) TrườngÝ (VI)nghĩa Mô tả
user_id ID người dùng ID của người đặt hàng
order_statusproduct_id TrạngID tháisản đơnphẩm Trạng thái đơn hàng (chờ, đã thanh toán, huỷ)
total_priceTổng giá trịTổng số tiềnID của đơcủa mẫu nón hàng
created_at Ngày tạo Ngày đơn hàngwishlist được tạo

4.2 Bảng ecom.shop-order-details

  • Chứa chi tiết các sản phẩthêm trong đơn hàng.
Trường (EN)Trường (VI)Mô tả
order_idID đơn hàngID của đơn hàngvào
product_idupdated_at IDNgày sảncập phẩmnhật IDNgày củawishlist sảnđược phẩmcập nhật
pricedeleted_at GiáNgày gốcxóa Giá sản phẩm
quantitySố lượngSố lượng sản phẩm
total_priceTạm tínhTổng giá của sản phẩmNgày đówishlist (priceđược * quantity)xóa

5. Giao diện giỏWishlist hàng- Yêu thích

5.1 Danh sách sản phẩm trong giỏ hàng

tronggiỏhàng
Trường (EN) Trường (VI) Cột DB Mô tả
Product Sản phẩm Không
product_idproduct_patterns_summary.image_3d_path Hiển thị hình ảnh sản phẩm
product_patterns_summary.nameHiển thị tên sản phẩm
Unit Price Đơn giá pricekhông Giá sản phẩm đơn lẻ (nhưng chưa có -> contact)
QuantityStock Status SốTình lượtrạng hàng quantityKhông SốTình lượtrạng cuả sản phẩphảm trong(chưa giỏcó -> gắn cứng: còn hàng)
SubtotalAction TạmHành tínhđộng total_priceKhông TổChọn thêm vào giỏ hoặc liên hệ tùy vào tình trạng tiềhàng (chưa có tình trạng -> gán củacứng: sản phẩthêm trongvào giỏ)
Remove Xóa Không Xóa sản phẩm khỏi giỏ hàng

5.2 Tổng giá trị giỏ hàng (Checkout Summary)

Trường (EN)Trường (VI)Cột DBMô tả
SubtotalTạm tínhKhôngTổng tiền của tất cả sản phẩm đã chọn
ShippingPhí vận chuyểnKhôngPhí vận chuyển (nếu có)
TotalTổng cộngKhôngTổng giá trị đơn hàng sau phí vận chuyểnwishlist

6. Tóm tắt

  • Người dùng có thể thêm sản phẩm vào giỏ hàngwishlist từ danh sách sản phẩm hoặc trang chi tiết sản phẩm.
  • GiỏTại hàngtrang wishlist có thể cập nhật số lượngthêm sản phẩm,m vào giỏ hàng, xóa sản phẩm khỏi trang wishlist, xem tình trạng của sản phẩm, lưu chọntrữ sản phẩm để thanh toán.
  • Sau khi chọcần thiết, tìm kiếm sản phẩm,m ngườidễ dùng có thể tiến hành thanh toán và lưu đơn hàng.
  • Dữ liệu giỏ hàngwishlist được lưu vào cơ sở dữ liệu thông qua các API đã định nghĩa.

Ref task: #1306 - QA