Ecom - Client
- TMS-1242: SignUp - Đăng ký
- TMS-1236: Danh sách sản phẩm
- TMS-1239: Cart - Giỏ hàng
- TMS-1306: wishlist - yêu thích
- TMS - 1243: Sign In - Đăng nhập
- TMS-1238 ProductDetail-Chi tiết sản phẩm
- Hướng dẫn map dữ liệu dành cho sản phẩm
TMS-1242: SignUp - Đăng ký
Tài liệu mô tả trang Đăng ký (Sign Up)
1. Mô tả tổng quan
Trang Đăng ký là nơi để người dùng tiến hành tạo tài khoản để có thể sử dụng các chức năng bắt buộc đăng nhập của web. Có 2 cách đăng ký tài khoản:
- ĐĂng ký điền thông tin vào form đăng ký trên trang.
- Đăng ký bằng tài khoản google, hoạt động như chức năng đăng ký bằng google của các trang web khác
2. Các chức năng và luồng hoạt động
Đăng ký tài khoản mặc định
- Tại phần header lúc chưa đăng nhập của web, nhấn vào nút đăng ký ở bên góc phải trên của trang web để vào trang đăng ký.
- Tiến hành nhập thông tin cần thiết ở form đăng ký (Sign Up).
- Nhấn nút
Đăng ký (Sign Up)
. - Nếu thành công: thông báo thành công và chuyển sang trang đăng nhập.
- Nếu thất bại: thông báo lỗi.
3. API Endpoint
Phương thức | Route | Mô tả |
---|---|---|
POST | /api/v1/auth/post/register |
Gửi dữ liệu xuống api xác thực và đăng ký |
4. Mô tả giao diện - DB: ecom.users
Trường -en | Trường -vi | Cột DB | Mô tả | Yêu cầu | Ví dụ |
---|---|---|---|---|---|
Full name | Họ và tên | name |
Nhập tên đầy đủ của người dùng. | - Bắt buộc nhập | johndoe |
email |
Nhập địa chỉ email hợp lệ. | - Bắt buộc nhập - Đúng định dạng email - Không trùng |
johndoe@example.com |
||
Username | Tên đăng nhập | username |
Nhập tên đăng nhập duy nhất. | - Bắt buộc nhập - Không trùng |
johndoe |
Password | Mật khẩu | password |
Nhập mật khẩu bảo mật. | - Bắt buộc nhập | ttd123@ |
Re-Password | Nhập lại mật khẩu | Không lưu DB | Xác nhận lại mật khẩu. | - Bắt buộc nhập | ttd123@ |
Ref task: #1242 - QA
TMS-1236: Danh sách sản phẩm
Tài liệu mô tả danh sách sản phẩm trên trang web
1. Mô tả tổng quan
Trang danh sách sản phẩm là trang dùng để hiển thị tất cả sản phẩm mẫu nón. Tại đây, người dùng có thể:
- Xem danh sách sản phẩm mẫu nón.
- Tìm kiếm sản phẩm muốn xem.
- Thêm sản phẩm vào danh sách yêu thích.
- Thêm sản phẩm vào giỏ hàng
- Xem chi tiết của sản phẩm.
2. Các chức năng và luồng hoạt động
2.1 Xem danh sách sản phẩm mẫu nón
- Khi vừa đăng nhập xong/vừa vào trang web và đang ở trên HomePage, để chuyển đến trang danh sách sản phẩm thì người dùng cần click vào option Products trên thanh header.
- Khi vào trang sẽ hiển thị toàn bộ danh sách sản phẩm theo dạng phân trang (paginate), tại đây người dùng có thể click vào từng trang để xem sản phẩm theo mỗi trang
- Mỗi component chứa sản phẩm sẽ bao gồm các thông tin như Tên sản phẩm, Mô tả sản phẩm, button Add to cart, nhóm button chức năng nằm bên phải component ( bao gồm button Add to wishlist và quickview) ,hình ảnh sản phẩm ( nếu sản phẩm có hình thì sẽ hiển thị hình ảnh sản phẩm,nếu không thì hiển thị No Images) và phần label Giá bán sẽ mặc định để text Liên hệ
- Phía dưới trang sản phẩm sẽ có 1 thanh paginate dữ liệu , người dùng có thể chọn số lượng items hiển thị trên 1 trang ở component Filters phía trên trang danh sách ( đang mặc định có 3 option là 30, 50 và 100 items và nếu không chọn thì mặc định paginate 30), lúc này dựa vào sự lựa chọn của user mà số lượng trang dưới thanh paginate sẽ được hiển thị, khi click chọn vào trang nào thì dữ liệu của trang đó sẽ được hiển thị ra.Ví dụ user chọn 50 items, đang có 100 dữ liệu trong database -> thì sẽ hiển thị 2 trang dưới thanh paginate.
- Cách hiển thị của component paginate: Luôn hiển thị trang đầu tiên và trang cuối, nếu chọn trang khác cách trang đầu tiên hơn 2 trang thì sẽ hiển thị dấu ... ( ví dụ: đang có 40 trang và chọn trang thứ 5 thì sẽ hiển thị dạng [1 ... 3 4 5 6 7 ... 40]), nhóm trang cố định ở giữa ... và ... sẽ luôn là 5 trang, trường hợp nếu chọn trang cuối cùng thì component hiển thị [ 1 ... 35 36 37 38 39 40], nếu chọn trang 1 thì hiển thị [1 2 3 4 5 ... 40].
- Trên component All Filters có dòng Showing(a)of(b)results : ví dụ dữ liệu tìm kiếm có 5 kết quả, và đang có tổng 10 dữ liệu trong database thì (a) sẽ là 5 và (b) sẽ là 10, kết quả đúng sẽ là Showing 5-of 10 results.
2.2 Tìm kiếm sản phẩm
-
Có 2 cách:
- Cách 1: Tìm kiếm trên ô select và ô input trên thanh header
-Trên thanh header cho phép người dùng tìm kiếm theo danh mục sản phẩm (trong ô select) và tên/mã sản phẩm trên ô input kế bên ô select. Khi chọn dữ liệu trong ô select thì lập tức dữ liệu tương ứng với option đã chọn sẽ được hiển thị ra (Option default cho ô select là Select all, khi không muốn chọn option khác thì chọn option Select all).Đối với input nhập dữ liệu tên/mã sản phẩm thì sau khi nhập xong rồi ấn enter thì trang sẽ hiển thị toàn bộ sản phẩm liên quan đến những gì người dùng nhập, khi không muốn lọc theo giá trị vừa nhập thì click vào button clear kế bên giá trị vừa nhập để trang hiển thị lại dữ liệu ban đầu.
- Cách 2: Tìm kiếm bằng bộ lọc (Filters)
-Trên component Filters ( bao gồm các button : All Filters, Text Showing(a)-of(b)results, option Sort by và option Show) khi click vào button All Filters sẽ hiển thị 1 bộ lọc, trong đó sẽ có lọc dữ liệu theo các nhóm như : Kiểu nón, Chi nhánh, Nguyên phụ liệu, Logo và Thời gian vận chuyển. Chọn dữ liệu muốn lọc bằng cách click chuột vào các checkbox chứa giá trị muốn chọn. Trường hợp các nhóm dữ liệu có nhiều hơn 11 dữ liệu thì sẽ hiển thị thêm text Others, khi click vào sẽ hiển thị component Others, trong component này khi scroll xuống sẽ hiển thị đầy đủ dữ liệu của nhóm dữ liệu đó. Khi muốn xóa tất cả bộ lọc trên component thì click vào button Reset Filters, còn khi muốn xác nhận chọn bộ lọc đó thì click vào button Confirm ( trên modal Others) hoặc button Apply Filters , lúc này trang sẽ tiến hành lọc toàn bộ dữ liệu theo những giá trị đã chọn
-Khi click vào option Sort by thì dữ liệu trên trang sẽ được sắp xếp theo thứ tự đã chọn ( hiện tại có 2 loại cho Sort by là Cũ nhất và Mới nhất, tức là trang sẽ sắp xếp sản phẩm theo Cũ nhất hoặc Mới nhất lên đầu trang)
-Khi click vào option Show thì dữ liệu trên trang sẽ được paginate theo option đã chọn
- Khi tìm kiếm không có bất kì kết quả nào thì hiển thị No results found
2.3 Thêm sản phẩm vào danh sách yêu thích
- Trên mỗi component chứa thông tin sản phẩm ở phía góc tay phải sẽ có nhóm nút chức năng, trên đó có nút Add to wishlist, khi click vào thì sản phẩm đó sẽ được thêm vào Danh sách yêu thích. Khi thêm thành công thì biểu tượng wishlist trên thanh header sẽ được cập nhật số lượng
2.4 Xem chi tiết sản phẩm
- Cách 1: Click vào từng component chứa sản phẩm để chuyển sang trang chi tiết sản phẩm (đang ẩn chuyển trang khi click vào sản phẩm do task TMS-1238 chưa xong)
- Cách 2: Trên component Swiper ngay phía dưới thanh header có thể click vào ảnh/tên sản phẩm để chuyển sang trang chi tiết sản phẩm (đang ẩn chuyển trang khi click vào sản phẩm do task TMS-1238 chưa xong)
- Cách 3: Click vào button QuickView trên component chứa sản phẩm để mở ra modal hiển thị chi tiết sản phẩm (đang ẩn chuyển trang khi click vào sản phẩm do task TMS-1238 chưa xong)
2.5 Thêm sản phẩm vào giỏ hàng
2.6 Chức năng trở về đầu trang
- Khi lướt trang danh sách xuống dưới sẽ có 1 button scroll to top hiển thị ở góc dưới cùng bên phải của trang, click vào sẽ chuyển về đầu trang
- Khi lướt xuống dưới trang danh sách thì phần header cũng được giữ lại
2.7 Swiper
3. API Endpoint
Phương thức | Route | Mô tả |
---|---|---|
GET |
/api/v1/auth/get/products |
Lấy danh sách sản phẩm từ database |
GET |
/api/v1/auth/get/list-hat-styles |
Lấy danh sách mẫu nón từ database |
GET |
/api/v1/auth/get/list-material-styles |
Lấy danh sách nguyên phụ liệu từ database |
GET |
/api/v1/auth/get/list-branch |
Lấy danh sách chi nhánh từ database |
GET |
/api/v1/auth/get/list-logo |
Lấy danh sách logo từ database |
GET |
/api/v1/auth/get/list-delivery |
Lấy danh sách mẫu nón từ database |
GET |
/api/v1/auth/get/list-product-category |
Lấy danh sách danh mục của mẫu nón từ database |
4. Cấu trúc dữ liệu danh sách sản phẩm
4.1 Bảng ecom_summary.product_patterns_summary
- Lưu đồng bộ thông tin giữa mẫu nón ở TTD và ecom.
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
ID mẫu nón | ID mẫu nón từ TTD |
delivery_time_id |
ID thời gian vận chuyển | ID thời gian vận chuyển của mẫu nón |
company_branch_id |
ID chi nhánh | ID chi nhánh của mẫu nón |
material_id |
ID nguyên phụ liệu | ID nguyên phụ liệu của mẫu nón |
hat_models |
Kiểu nón | Kiểu nón của mẫu nón |
product_category_id |
ID danh mục | ID danh mục của mẫu nón |
code |
Code mẫu nón | Code của mẫu nón |
name |
Tên mẫu nón | Tên của mẫu nón |
description |
Mô tả | Mô tả của mẫu nón |
size_id |
ID kích thước | ID kích thước của mẫu nón |
size_code |
Code kích thước | Code của kích thước mẫu nón |
size_name |
Tên kích thước | Tên của kích thước mẫu nón |
logo_id |
ID logo | ID logo của mẫu nón |
logo_code |
Code logo | Code của logo mẫu nón |
logo_name |
Tên logo | Tên của logo mẫu nón |
color_id |
ID màu | ID màu của mẫu nón |
color_code |
Code màu | Code của màu mẫu nón |
color_name |
Tên màu | Tên của màu mẫu nón |
style_id |
ID style | ID style của mẫu nón |
style_code |
Code style | Code của style mẫu nón |
style_name |
Tên style | Tên của style mẫu nón |
video_path |
Đường dẫn video | Đường dẫn video của mẫu nón |
image_3d_path |
Đường dẫn ảnh 3D | Đường dẫn ảnh 3D của mẫu nón |
creator_id |
Người tạo | Người tạo mẫu nón |
created_at |
Ngày tạo | Ngày tạo mẫu nón |
updated_at |
Ngày cập nhật | Ngày cập nhật mẫu nón |
-
Note: Hiện tại dữ liệu đã được lấy sẵn từ TTD qua, riêng cột product_category_id cần map thủ công từ bảng product_categories sang bằng cách lấy id của bảng product_categories gắn qua cột product_category_id của bảng product_patterns_summary từ DB ecom
-
Tương tự cột material_id ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id từ bảng materials đưa vào cột material_id của bảng product_patterns_summary từ DB ecom
-
Tương tự cột delivery_time_id ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id từ bảng delivery_time đưa vào cột delivery_time_id của bảng product_patterns_summary từ DB ecom
-
Tương tự cột hat_models ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id từ bảng hat_models đưa vào cột hat_models của bảng product_patterns_summary từ DB ecom
-
Cột company_branch_id ở bảng product_patterns_summary được map thủ công bằng cách lấy id của bảng company_branchs ở DB TTĐ đưa vào cột company_branch_id ở bảng product_patterns_summary từ DB ecom ( note: A.Tài confirm lấy theo brand nhưng hiện tại đang cho hiển thị theo branch tạm thời tester vẫn test bình thường)
-
Tương tự cột size_id,size_code,size_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng size đưa vào cột size_id,size_code,size_name của bảng product_patterns_summary từ DB ecom
-
Tương tự cột logo_id,logo_code,logo_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng logo đưa vào cột logo_id,logo_code,logo_name của bảng product_patterns_summary từ DB ecom
-
Tương tự cột color_id,color_code,color_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng colors đưa vào cột color_id,color_code,color_name của bảng product_patterns_summary từ DB ecom
-
Tương tự cột style_id,style_code,style_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng style đưa vào cột style_id,style_code,style_name của bảng product_patterns_summary từ DB ecom
4.2 Bảng ecom.delivery_time
- Bảng master lưu thông tin thời gian vận chuyển mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của mỗi khung thời gian vận chuyển |
min_days |
Ngày ngắn nhất | Ngày giao hàng sớm nhất |
max_days |
Ngày chậm nhất | Ngày giao hàng chậm nhất |
created_at |
Ngày tạo | Ngày tạo thời gian vận chuyển |
updated_at |
Ngày cập nhật | Ngày cập nhật thời gian vận chuyển |
deleted_at |
Ngày xóa | Ngày xóa thời gian vận chuyển |
4.3 Bảng ecom.logo
- Bảng master lưu thông tin logo của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của logo |
name |
Tên | Tên của logo |
created_at |
Ngày tạo | Ngày tạo logo |
updated_at |
Ngày cập nhật | Ngày cập nhật logo |
deleted_at |
Ngày xóa | Ngày xóa logo |
4.4 Bảng ecom.product_categories
- Bảng master lưu thông tin danh mục của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của danh mục |
name |
Tên | Tên của danh mục |
user_id |
Người tạo | Người tạo danh mục |
created_at |
Ngày tạo | Ngày tạo danh mục |
updated_at |
Ngày cập nhật | Ngày cập nhật danh mục |
deleted_at |
Ngày xóa | Ngày xóa danh mục |
4.5 Bảng ecom.hat_models
- Bảng master lưu thông tin kiểu nón của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của kiểu nón |
name |
Tên | Tên của kiểu nón |
created_at |
Ngày tạo | Ngày tạo kiểu nón |
updated_at |
Ngày cập nhật | Ngày cập nhật kiểu nón |
deleted_at |
Ngày xóa | Ngày xóa kiểu nón |
4.6 Bảng ecom.size
- Bảng master lưu thông tin kích thước của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của kích thước |
name |
Tên | Tên của kích thước |
created_at |
Ngày tạo | Ngày tạo kích thước |
updated_at |
Ngày cập nhật | Ngày cập nhật kích thước |
deleted_at |
Ngày xóa | Ngày xóa kích thước |
4.7 Bảng ecom.style
- Bảng master lưu thông tin style của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của style |
name |
Tên | Tên của style |
created_at |
Ngày tạo | Ngày tạo style |
updated_at |
Ngày cập nhật | Ngày cập nhật style |
deleted_at |
Ngày xóa | Ngày xóa style |
4.8 Bảng ecom.colors
- Bảng master lưu thông tin màu của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
code |
Code | Code của màu |
name |
Tên | Tên của màu |
created_at |
Ngày tạo | Ngày tạo màu |
updated_at |
Ngày cập nhật | Ngày cập nhật màu |
deleted_at |
Ngày xóa | Ngày xóa màu |
5. Giao diện danh sách sản phẩm
5.1 Danh sách sản phẩm
Fields(EN) | Fields (VI) | Cột DB | Tên DB | Mô tả |
---|---|---|---|---|
Name | Tên sản phẩm | name |
ecom_summary.product_patterns_summary | Tên của mẫu nón |
Description | Mô tả sản phẩm | description |
ecom_summary.product_patterns_summary | Mô tả sản phẩm |
Images | Ảnh 3D của mẫu nón | image_3d_path |
ecom_summary.product_patterns_summary | Link ảnh 3D của mẫu nón |
Showing | Hiển thị | Không có | Không có | Trang hiện tại người dùng đang xem |
results | Kết quả | Không có | Không có | Tổng số trang chứa dữ liệu |
Hat styles | Kiểu nón | hat_models | dev_test_data.product_pattern_info | Kiểu nón |
Branch | Chi nhánh | name | dev_test_auth.company_branch | Chi nhánh |
Material | Nguyên phụ liệu | name | dev_test_data.product_details | Nguyên phụ liệu |
Logo | Nguyên phụ liệu | name | ecom.logo | Logo của mẫu nón |
Delivery time | Thời gian vận chuyển | min_days-max_days | ecom.delivery_time | Thời gian giao hàng sớm nhất-Thời gian giao hàng chậm nhất |
Select category | Chọn danh mục | name | ecom.product_categories | Các loại danh mục của mẫu nón |
Search for code/name of items | Tìm kiếm mã/tên sản phẩm | name, code | ecom_summary.product_patterns_summary | Mã/Tên sản phẩm |
6. Tóm tắt
- Người dùng có thể xem danh sách sản phẩm, thêm sản phẩm vào danh sách yêu thích, vào giỏ hàng , xem chi tiết sản phẩm và tìm kiếm sản phẩm
7. Các chức năng đang tạm ẩn và chưa triển khai
- Chức năng so sánh sản phẩm
- Chức năng lướt xem các sản phẩm trên thanh Swiper ( hiện tại khi click vào ảnh/tên sản phẩm trên component của swiper thì chưa chuyển đến trang chi tiết sản phẩm được do task TMS-1238 của dev-Tuấn chưa lên)
- Các hình ảnh banner trên trang cũng đang được gắn cưng theo template do chưa có xác nhận về ảnh sẽ hiển thị
- Chức năng chat ( hiện tại chỉ có giao diện cho khung chat và button mở khung chat)
- Các footer hiện tại cũng đang hiển thị theo template
- Thanh sidebar bên tay trái sẽ hiển thị các mẫu nón theo từng danh mục của mẫu nón ( hiện tại thanh sidebar này vẫn đang gắn cứng dữ liệu theo template)
- Chức năng chi tiết sản phẩm (dev-Tuấn) chưa gắn component chi tiết, chưa gắn chuyển sang trang chi tiết khi click vào sản phẩm
Ref task: #1236, #1237 - Chi
TMS-1239: Cart - Giỏ hàng
Tài liệu mô tả giỏ hàng trên trang web
1. Mô tả tổng quan
Trang giỏ hàng là nơi hiển thị danh sách các sản phẩm mà người dùng đã chọn để mua. Tại đây, người dùng có thể:
- Xem danh sách sản phẩm đã thêm vào giỏ.
- Điều chỉnh số lượng sản phẩm.
- Chọn các thông tin của sản phẩm: color, size, styles, material, logo(có thể chọn hoặc không).
- Xóa sản phẩm khỏi giỏ hàng.
- Tiến hành thanh toán.
- Lưu trạng thái giỏ hàng.
2. Các chức năng và luồng hoạt động
Note: Các dữ liệu thông tin của sản phẩm (color, size, styles, material, logo) hiện tại đang được map thủ công. Hướng dẫn cách map dữ liệu: Hướng dẫn map dữ liệu dành cho sản phẩm
2.1 Review giỏ hàng
Khi người dùng nhấn nút Add To Cart
thì sản phẩm đó sẽ được thêm vào giỏ hàng và có thể xem nhanh tại phần review của giỏ hàng.
- Tại bất kỳ trang danh sách sản phẩm nào hoặc tại danh sách yêu thích: modal hiện lên để người dùng chọn các thông tin chi tiết của sản phẩm như size, logo, color, style, material, cuối cùng nhấn
save
để thêm sản phẩm - Tại trang chi tiết sản phẩm: vì đã có chọn thông tin từ trang chi tiết nên sản phẩm nên không hiển thị modal nữa. Khi bấm Add To Cart là sản phẩm sẽ được thêm
Tại đây người dùng có thể:
- Xem nhanh các sản phẩm đang có trong giỏ hàng theo tiêu chí mới đến cũ: tên, hình ảnh, số lượng, giá (nếu có).
- Xem tổng tiền của các sản phẩm (nếu có giá cả của sản phẩm).
- Vào trang giỏ hàng bằng cách nhấn
View cart (Xem giỏ hàng)
- Thanh toán nhanh tất cả sản phẩm có trong giỏ hàng, nhấn
Checkout (Thanh toán)
- Chuyển đến trang chi tiết sản phẩm bằng cách nhấn vào tên sản phẩm.
2.2 Thêm sản phẩm vào giỏ hàng (Add to Cart)
Khi người dùng nhấn nút Add To Cart
thì sản phẩm đó sẽ được thêm vào giỏ hàng và có thể xem nhanh tại phần review của giỏ hàng.
- Tại bất kỳ trang danh sách sản phẩm nào hoặc tại danh sách yêu thích: modal hiện lên để người dùng chọn các thông tin chi tiết của sản phẩm như size, logo, color, style, material, cuối cùng nhấn
save
để thêm sản phẩm - Tại trang chi tiết sản phẩm: vì đã có chọn thông tin từ trang chi tiết nên sản phẩm nên không hiển thị modal nữa. Khi bấm Add To Cart là sản phẩm sẽ được thêm
- Sản phẩm sẽ xuất hiện trong giỏ hàng theo tiêu chí mới đến cũ cùng với các thông tin chi tiết như tên, giá, số lượng, tổng tiền, v.v cùng với các chi tiết của sản phẩm: color, size, style, logo, material.
- Các sản phẩm giống nhau hoàn toàn về tên sản phẩm, các thông tin của sản phẩm như size, logo, color, style, material thì tính là cùng 1 sản phẩm hiện 1 dòng, trường hợp còn lại tính là khác sản phẩm, hiện nhiều dòng.
Note: Các sản phẩm trong giỏ hàng đã được xóa sẽ được làm mờ kèm dòng thông báo "Sản phẩm đã được xóa" (đang cập nhật, chưa lên staging)
2.3 Tiếp tục mua sắm (Continue Shopping)
- Khi người dùng nhấn vào nút
Continue Shopping
, hệ thống sẽ đưa họ trở lại trang danh sách sản phẩm để tiếp tục mua hàng.
2.4 Cập nhật giỏ hàng (Update Cart)
- Nhấn nút "Cập nhật giỏ hàng": Khi đã đăng nhập, các thao tác trên giỏ hàng (thêm, xóa, chỉnh sửa số lượng,...) chỉ được lưu lại và áp dụng chính thức khi người dùng nhấn nút "Cập nhật giỏ hàng" trên trang giỏ hàng.
- Không nhấn nút "Cập nhật giỏ hàng": Các thay đổi chỉ được lưu tạm thời trên thiết bị đang sử dụng. Nếu người dùng đăng nhập trên một thiết bị khác, giỏ hàng sẽ không có những thay đổi đã thực hiện trên thiết bị trước đó.
2.5 Chọn sản phẩm để thanh toán (Select Product for Checkout)
- 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 đưa vào quá trình thanh toán khi nhấn nút
Proceed To Checkout (Tiến hành thanh toán)
.
2.6 Thanh toán
Có 2 cách để tiến hành thanh toán (đặt hàng):
- Khi nhấn nút
Proceed To Checkout (Tiến hành thanh toán)
tại trang giỏ hàng:
- Hệ thống hiển thị popop xác nhận đặt hàng những sản phẩm đã chọn trong giỏ hàng.
- Khi nhấn nút
Checkout (Thanh toán)
tại review giỏ hàng:
- Hệ thống hiển thị popop xác nhận đặt hàng tất cả các sản phẩm trong giỏ hàng.
Popup xác nhận:
- Nhấn
Xác nhận (Confirm )
để đặt hàng, thông báo thành công hệ thống sẽ lưu các thông tin sản phẩm đã đặt hàng, sau đó chuyển sang trang xác nhận đã đặt hàng. - Nhấn
Hủy (Cancel)
để trở lại, tắt popup và không đặt hàng.
Trang xác nhận đã đặt hàng:
- Sau 15s tự chuyển sang trang sản phẩm để tiếp tục mua sắm
- Nhấn
Tiếp tục mua sắm
để chuyển sang trang sản phẩm để tiếp tục mua sắm
2.7 Xóa sản phẩm trong giỏ hàng
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 đó ở giỏ hàng trên máy.
- Bấm
update cart
để tiến hành cập nhật các thay đổi ở giỏ hàng của máy lên database. - Hiển thị thông báo xác nhận đơn hàng đã được cập nhật thành công.
2.8 Chuyển đến trang chi tiết sản phẩm
- Tại trang giỏ hàng, nhấn vào hình ảnh sản phẩm hoặc tên sản phẩm, có thể chuyển đến trang chi tiết sản phẩm.
2.9 Chọn chi tiết cho sản phẩm (color, size, style, logo, material)
- Phần chi tiết sản phẩm (color, size, style, logo, material) sẽ được hiện ở bên dứoi tên sản phẩm, khi nhấn vào dropdown mở ra cho phép ngừoi dùng lựa chọn:
- Các sản phẩm tên giống nhau nhưng chi tiết khác nhau sẽ được hiện độc lập ở giỏ hàng (ít nhất 1 chi tiết khác nhau cũng khác nhau -> 2sản phẩm)
- Nếu giống nhau toàn bộ về sản phẩm và thông tin chi tiết sản phẩm thì tính là 1 sản phẩm.
- Tương tự như ở chi tiết sản phẩm, tại đây ngừoi dùng có thể chọn thay đổi color, size, style, logo, material của sản phẩm hiện tại:
- Đối với color, size, style: người dùng nhấp vào các ô tên/mã color, size, style tương ứng để chọn chi tiết cho sản phẩm, mỗi chi tiết chỉ được chọn 1 ô tương ứng.
- Đối với logo, material: ngừoi dùng chọn vào ô select, các mã/tên của logo, material tương ứng sẽ hiện lên cho phép chọn, chỉ được chọn 1 lựa chọn cho mỗi logo, material.
3. API Endpoint
Phương thức | Route | Mô tả |
---|---|---|
GET |
/api/v1/auth/get/shop-order |
Lấy dữ liệu giỏ hàng từ database |
POST |
/api/v1/auth/post/shop-order/save |
Lưu dữ liệu giỏ hàng vào database |
POST |
/api/v1/auth/post/shop-order/update |
Cập nhật giỏ hàng (thay đổi số lượng, xóa) |
POST |
/api/v1/auth/post/shop-order/checkout |
Xử lý thanh toán giỏ hàng |
4. Cấu trúc dữ liệu giỏ hàng
4.1 Bảng ecom.shop-order
- Chứa thông tin ID của người dùng.
Trường (EN) | Ý nghĩa | Mô tả | Tên cột/bảng dữ liệu tham chiếu |
---|---|---|---|
user_id |
ID người dùng | ID của người đặt hàng | Cột id trong bảng ecom.users |
created_at |
Ngày tạo | Ngày đơn hàng được tạo | |
updated_at |
Ngày cập nhật | Ngày đơn hàng được cập nhật | |
deleted_at |
Ngày xóa | Ngày đơn hàng bị xóa mềm (Soft Delete) |
4.2 Bảng ecom.shop-order-details
- Chứa chi tiết các sản phẩm trong đơn hàng của ngừoi dùng.
Trường (EN) | Ý nghĩa | Mô tả | Tên cột/bảng dữ liệu tham chiếu |
---|---|---|---|
shop-order_id |
ID đơn hàng | ID của đơn hàng | Cột id trong bảng ecom.shop-order |
product_id |
ID sản phẩm | ID của sản phẩm | Cột product_id trong bảng ecom_summary.product_patterns_summary |
color_id |
ID màu | ID màu | Cột id trong bảng ecom.colors |
size_id |
ID kích thước | ID kích thước | Cột id trong bảng ecom.size |
style_id |
ID kiểu nón | ID kiểu nón | Cột id trong bảng ecom.style |
logo_id |
ID logo | ID logo | Cột id trong bảng ecom.logo |
material_id |
ID của vật tư | ID của sản phẩm | Cột id trong bảng ecom.materials |
price |
Giá gốc | Giá sản phẩm | |
quantity |
Số lượng | Số lượng sản phẩm | |
total_price |
Tạm tính | Tổng giá của sản phẩm đó (price * quantity ) |
|
is_checkout |
Đặt hàng | Đánh dấu sản phẩm đã được thanh toán chưa | |
created_at |
Ngày tạo | Ngày đơn hàng được tạo | |
updated_at |
Ngày cập nhật | Ngày đơn hàng được cập nhật | |
deleted_at |
Ngày xóa | Ngày đơn hàng được xóa |
5. Giao diện giỏ hàng
5.1 Danh sách sản phẩm hiển thị trong trang giỏ hàng
Trường (EN) | Trường (VI) | Cột DB | Tên DB | Mô tả |
---|---|---|---|---|
Product | Sản phẩm | name |
ecom_summary.product_patterns_summary |
Hiển thị tên sản phẩm trong giỏ hàng |
Product | Sản phẩm | image_3d_path |
ecom_summary.product_patterns_summary |
Hiển thị hình ảnh sản phẩm trong giỏ hàng |
Color | Màu sắc | name |
ecom.colors |
Hiển thị màu sắc sản phẩm trong giỏ hàng |
Size | Kích thước | name |
ecom.size |
Hiển thị kích thước sản phẩm trong giỏ hàng |
Style | Kiểu | name |
ecom.style |
Hiển thị kiểu sản phẩm trong giỏ hàng |
Logo | Logo | name |
ecom.logo |
Hiển thị logo sản phẩm trong giỏ hàng |
Material | Nguyên phụ liệu | name |
ecom.materials |
Hiển thị nguyên phụ liệu của sản phẩm trong giỏ hàng |
Unit Price | Đơn giá | price |
Giá sản phẩm đơn lẻ (không có để contact-liên hệ ) |
|
Quantity | Số lượng | quantity |
Số lượng sản phẩm trong giỏ (4 số) | |
Subtotal | Tạm tính | total_price |
Tổng tiền của sản phẩm trong giỏ (không có để contact-liên hệ ) |
|
Remove | Xóa | Không | Xóa sản phẩm khỏi giỏ hàng |
5.2 Tổng giá trị hiển thị trên trang giỏ hàng (Checkout Summary)
Trường (EN) | Trường (VI) | Cột DB | Mô tả |
---|---|---|---|
Subtotal | Tạm tính | Không | Tổng tiền của tất cả sản phẩm đã chọn (không có để contact-liên hệ ) |
Shipping | Phí vận chuyển | Không | Phí vận chuyển (nếu có) |
Total | Tổng cộng | Không | Tổng giá trị đơn hàng sau phí vận chuyển (không có để contact-liên hệ ) |
6. Tóm tắt
- Người dùng có thể thêm sản phẩm vào giỏ hàng và thêm vào review giỏ hàng từ danh sách sản phẩm hoặc trang chi tiết sản phẩm.
- Giỏ hàng có thể cập nhật số lượng sản phẩm, xóa sản phẩm, chọn sản phẩm để thanh toán và chuyển đến trang chi tiết sản phẩm.
- Giỏ hàng còn có thể cho phép chọn, cập nhật các chi tiết của sản phẩm như: size, logo, style, material, color.
- Review giỏ hàng có thể xem nhanh các sản phẩm có trong giỏ hàng, tiến hành thanh toán nhanh tất cả sản phẩm có trong giỏ hàng, chuyển đến trang chi tiết sản phẩm, chuyển đến trang giỏ hàng.
- Sau khi chọn sản phẩm, người dùng có thể tiến hành thanh toán.
- Dữ liệu giỏ hàng được lưu vào cơ sở dữ liệu thông qua các API đã định nghĩa.
Note: Phần summary checkout hiện đang được ẩn trên app mobile chờ cập nhật.
Ref task: #1239 - QA
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 ở phía trên danh sách.
3. API Endpoint liên quan
Phương thức | Route | Mô tả |
---|---|---|
GET |
/api/v1/auth/get/shop-wishlist |
Lấy dữ liệu wishlist từ database |
POST |
/api/v1/auth/post/shop-wishlist/save |
Lưu dữ liệu wishlist vào database |
POST |
/api/v1/auth/post/shop-wishlist/delete |
Xóa 1 hoặc nhiều sản phẩm ra khỏi database |
4. Cấu trúc dữ liệu giỏ hàng
4.1 Bảng ecom.wishlist
- Chứa thông tin đơn hàng của người dùng.
Trường (EN) | Ý nghĩa | Mô tả |
---|---|---|
user_id |
ID người dùng | ID của người đặt hàng |
product_id |
ID sản phẩm | ID của của mẫu nón |
created_at |
Ngày tạo | Ngày wishlist được thêm vào |
updated_at |
Ngày cập nhật | Ngày wishlist được cập nhật |
deleted_at |
Ngày xóa | Ngày đwishlist được xóa |
5. Giao diện Wishlist - Yêu thích
5.1 Danh sách sản phẩm trong giỏ hàng
Trường (EN) | Trường (VI) | Cột DB | Mô tả |
---|---|---|---|
Product | Sản phẩm | Không | Cột hiển thị thông tin hình ảnh sản phẩm và tên sản phẩm |
product_patterns_summary.image_3d_path |
Hiển thị hình ảnh sản phẩm | ||
product_patterns_summary.name |
Hiển thị tên sản phẩm | ||
Unit Price | Đơn giá | không | Giá sản phẩm đơn lẻ (nhưng chưa có -> contact) |
Stock Status | Tình trạng hàng | Không | Tình trạng cuả sản phảm (chưa có -> gắn cứng: còn hàng) |
Action | Hành động | Không | Chọn thêm vào giỏ hoặc liên hệ tùy vào tình trạng hàng (chưa có tình trạng -> gán cứng: thêm vào giỏ) |
Remove | Xóa | Không | Xóa sản phẩm khỏi wishlist |
6. Tóm tắt
- Người dùng có thể thêm sản phẩm vào wishlist từ danh sách sản phẩm hoặc trang chi tiết sản phẩm.
- Tại trang wishlist có thể thêm sản phẩ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 trữ sản phẩm khi cần thiết, tìm kiếm sản phẩm dễ dàng.
- Dữ liệu wishlist được lưu vào cơ sở dữ liệu thông qua các API đã định nghĩa.
Ref task: #1306 - QA
TMS - 1243: Sign In - Đăng nhập
Tài liệu mô tả trang Đăng nhập (Sign In)
1. Mô tả tổng quan
Trang Đăng nhập là nơi để người dùng tiến hành đăng nhập vào tài khoản của mình để sử dụng các tính năng của website:
- Đăng nhập điền thông tin vào form đăng nhập trên trang.
- Đăng nhập bằng tài khoản google, hoạt động như chức năng đăng nhập bằng google của các trang web khác
2. Các chức năng và luồng hoạt động
Đăng nhập tài khoản mặc định
- Tại phần header lúc chưa đăng nhập của web, nhấn vào nút đăng nhập ở bên góc phải trên của trang web để vào trang đăng nhập.
- Tiến hành nhập thông tin cần thiết ở form đăng nhập (Sign In).
- Nhấn nút
Đăng nhập (Sign In)
. - Nếu thành công: thông báo thành công và chuyển sang trang chủ của web.
- Nếu thất bại: thông báo lỗi.
3. API Endpoint
Phương thức | Route | Mô tả |
---|---|---|
POST | /a-login |
Gửi dữ liệu qua controller tại client để tiến hành đăng nhập |
4. Mô tả giao diện - DB: ecom.users
Trường -en | Trường -vi | Cột DB | Mô tả | Yêu cầu | Ví dụ |
---|---|---|---|---|---|
Username | Tên đăng nhập | username |
Nhập tên đăng nhập duy nhất. | - Bắt buộc nhập - Không trùng |
johndoe |
Password | Mật khẩu | password |
Nhập mật khẩu bảo mật. | - Bắt buộc nhập | ttd123@ |
Ref task: #1243 - Hưng
TMS-1238 ProductDetail-Chi tiết sản phẩm
Tài liệu mô tả chi tiết sản phẩm trên web
1. Mô tả tổng quan
Trang chi tiết sản phẩm là nơi hiển thi chi tiết sản phẩm bao gồm hình ảnh, tên, giá, mô tả và các thông tin liên quan. Người dùng có thể thêm sản phẩm vào giỏ hàng hoặc danh sách yêu thích.
2 Các chức năng và luồng hoạt động
2.1 Lựa chọn màu sắc cho sản phẩm
- Có thể lựa chọn màu sắc mong muốn cho sản phẩm bằng cách nhấp vào mã màu tương ứng.
- Màu sắc đang được chọn sẽ được đánh dấu nổi bật và sẽ thể hiện tên màu đang được chon.
2.2 Lựa chọn kiểu cho sản phẩm
- Có thể lựa chọn kiểu mong muốn cho sản phẩm bằng cách nhấp vào mã kiểu tương ứng.
- Kiểu đang được chọn sẽ được đánh dấu nổi bật và sẽ thể hiện tên kiểu đang được chọn.
2.3 Lựa chọn kích cỡ cho sản phẩm
- Có thể lựa chọn kích cỡ mong muốn cho sản phẩm bằng cách nhấp vào mã kích cỡ tương ứng.
- Kích cỡ đang được chọn sẽ được đánh dấu nổi bật và sẽ thể hiện tên kích cỡ đang được chọn.
2.4 Lựa chọn logo cho sản phẩm
- Lựa chon logo mong muốn cho sản phẩm từ ô select (mỗi sản phẩm chi được chọn 1 logo).
2.5 Lựa chọn nguyên phụ liệu cho sản phẩm
- Lựa chon nguyên phụ liệu mong muốn cho sản phẩm từ ô select (mỗi sản phẩm chi được chọn 1 nguyên phụ liệu).
2.6 Thêm sản phẩm vào giỏ hàng
- Khi người dùng nhấn nút
Add to cart
sản phẩm đó sẽ được thêm vào giỏ hàng với số lượng như khách hàng chọn ( Nếu sản phẩm đã có trong giỏ hàng sẽ cộng thêm trực tiếp). - Sản phẩm sẽ xuất hiện trong giỏ hàng cùng với các thông tin chi tiết như tên, giá, số lượng, tổng tiền và các option lựa chọn.
2.7 Thêm vào danh sách yêu thích
- Khi người dùng nhấn icon 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.8 Mua ngay
- Khi người dùng nhấn nút
buy now
sản phẩm sẽ được thêm trực tiếp vào cart và chuyển tới trang giỏ hàng
2.9 Xem thông tin của sản phẩm
- Trang chi tiết sản phẩm sẽ bao gồm các thông tin của sản phẩm nhưng SKU(Mã sản phẩm), Màu sắc, logo, phân loại, các hình ảnh của sản phẩm trong đó sẽ có 2 hình ảnh cố định là hình 3D và video của sản phẩm
2.10 Xem danh sách sản phẩm xem gần nhất
-
Trên giao diện chi tiết sẽ có
swiper
thể hiện danh sách các sản phẩm xem gần nhất. -
Người dùng có thể trượt ngang để xem thêm sản phẩm. Có các nút next / prev để chuyển đổi giữa các sản phẩm.
Danh sách sẽ bao gồm 6 sản phẩm xem gần nhất:
-
Đối với trường hợp chưa vào xem sản phẩm nào sẽ ẩn swipper.
2.11 Xem danh sách sản phẩm yêu thích
- Nếu người dùng đang đăng nhập thể hiện danh sách yêu thích, danh sách hiển thị sản phẩm từ mục yêu thích của người dùng.
- Người dùng có thể trượt ngang để xem thêm sản phẩm. Có các nút next / prev để chuyển đổi giữa các sản phẩm.
3. API Endpoint
Phương thức | Route | Mô tả |
---|---|---|
GET |
/api/v1/auth/get/list-colors-map |
Lấy danh sách màu được map với sản phẩm từ database |
GET |
/api/v1/auth/get/list-logo-map |
Lấy danh sách logo được map với sản phẩm từ database |
GET |
/api/v1/auth/get/list-style-map |
Lấy danh sách kiểu được map với sản phẩm từ database |
GET |
api/v1/auth/get/list-size-map |
Lấy danh sách kích cỡ map với sản phẩm từ database |
GET |
api/v1/auth/get/list-material-map |
Lấy danh sách nguyên phụ liệu map với sản phẩm từ database |
GET |
api/v1/auth/get/product-pattern-summary-by-id |
Lấy chi tiết sản phẩm từ bảng database summary |
4. Cấu trúc dữ liệu danh sách sản phẩm
4.1 Bảng ecom_summary.product_patterns_summary
- Lưu đồng bộ thông tin giữa mẫu nón ở TTD và ecom.
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
ID mẫu nón | ID mẫu nón từ TTD |
delivery_time_id |
ID thời gian vận chuyển | ID thời gian vận chuyển của mẫu nón |
company_branch_id |
ID chi nhánh | ID chi nhánh của mẫu nón |
material_id |
ID nguyên phụ liệu | ID nguyên phụ liệu của mẫu nón |
hat_models |
Kiểu nón | Kiểu nón của mẫu nón |
product_category_id |
ID danh mục | ID danh mục của mẫu nón |
code |
Code mẫu nón | Code của mẫu nón |
name |
Tên mẫu nón | Tên của mẫu nón |
description |
Mô tả | Mô tả của mẫu nón |
size_id |
ID kích thước | ID kích thước của mẫu nón |
size_code |
Code kích thước | Code của kích thước mẫu nón |
size_name |
Tên kích thước | Tên của kích thước mẫu nón |
logo_id |
ID logo | ID logo của mẫu nón |
logo_code |
Code logo | Code của logo mẫu nón |
logo_name |
Tên logo | Tên của logo mẫu nón |
color_id |
ID màu | ID màu của mẫu nón |
color_code |
Code màu | Code của màu mẫu nón |
color_name |
Tên màu | Tên của màu mẫu nón |
style_id |
ID style | ID style của mẫu nón |
style_code |
Code style | Code của style mẫu nón |
style_name |
Tên style | Tên của style mẫu nón |
video_path |
Đường dẫn video | Đường dẫn video của mẫu nón |
image_3d_path |
Đường dẫn ảnh 3D | Đường dẫn ảnh 3D của mẫu nón |
creator_id |
Người tạo | Người tạo mẫu nón |
created_at |
Ngày tạo | Ngày tạo mẫu nón |
updated_at |
Ngày cập nhật | Ngày cập nhật mẫu nón |
-
Note: Hiện tại dữ liệu đã được lấy sẵn từ TTD qua, riêng cột product_category_id cần map thủ công từ bảng product_categories sang bằng cách lấy id của bảng product_categories gắn qua cột product_category_id của bảng product_patterns_summary từ DB ecom
-
Tương tự cột material_id ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id từ bảng materials đưa vào cột material_id của bảng product_patterns_summary từ DB ecom
-
Tương tự cột delivery_time_id ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id từ bảng delivery_time đưa vào cột delivery_time_id của bảng product_patterns_summary từ DB ecom
-
Tương tự cột hat_models ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id từ bảng hat_models đưa vào cột hat_models của bảng product_patterns_summary từ DB ecom
-
Cột company_branch_id ở bảng product_patterns_summary được map thủ công bằng cách lấy id của bảng company_branchs ở DB TTĐ đưa vào cột company_branch_id ở bảng product_patterns_summary từ DB ecom
-
Tương tự cột size_id,size_code,size_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng size đưa vào cột size_id,size_code,size_name của bảng product_patterns_summary từ DB ecom
-
Tương tự cột logo_id,logo_code,logo_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng logo đưa vào cột logo_id,logo_code,logo_name của bảng product_patterns_summary từ DB ecom
-
Tương tự cột color_id,color_code,color_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng colors đưa vào cột color_id,color_code,color_name của bảng product_patterns_summary từ DB ecom
-
Tương tự cột style_id,style_code,style_name ở bảng product_patterns_summary cũng map thủ công bằng cách lấy id,code,name từ bảng style đưa vào cột style_id,style_code,style_name của bảng product_patterns_summary từ DB ecom
4.2 Bảng ecom.product_logo_maps
- Bảng map lưu thông tin logo của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
product id | id của sản phẩm |
logo_id |
logo_id | id của logo |
created_at |
Ngày tạo | Ngày map logo vào sản phẩm |
updated_at |
Ngày cập nhật | Ngày cập nhật logo vào sản phẩm |
deleted_at |
Ngày xóa | Ngày xóa xóa dữ liệu logo khỏi sản phẩm |
4.3 Bảng ecom.product_material_maps
- Bảng map lưu thông tin kiểu nón của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
product id | id của sản phẩm |
material_id |
material id | id của nguyên phụ liệu |
created_at |
Ngày tạo | Ngày map npl vào sản phẩm |
updated_at |
Ngày cập nhật | Ngày cập nhật npl vào sản phẩm |
deleted_at |
Ngày xóa | Ngày xóa xóa dữ liệu npl khỏi sản phẩm |
4.4 Bảng ecom.product_size_maps
- Bảng map lưu thông tin kích thước của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
product id | id của sản phẩm |
size_id |
size id | id của kích cỡ |
created_at |
Ngày tạo | Ngày map size vào sản phẩm |
updated_at |
Ngày cập nhật | Ngày cập nhật size vào sản phẩm |
deleted_at |
Ngày xóa | Ngày xóa xóa dữ liệu size khỏi sản phẩm |
4.5 Bảng ecom.product_style_maps
- Bảng map lưu thông tin style của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
product id | id của sản phẩm |
style_id |
style id | id của style |
created_at |
Ngày tạo | Ngày map style vào sản phẩm |
updated_at |
Ngày cập nhật | Ngày cập nhật style vào sản phẩm |
deleted_at |
Ngày xóa | Ngày xóa xóa dữ liệu style khỏi sản phẩm |
4.6 Bảng ecom.product_colors_maps
- Bảng map lưu thông tin màu của mẫu nón
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
product id | id của sản phẩm |
color_id |
color id | id của màu sắc |
created_at |
Ngày tạo | Ngày map màu sắc vào sản phẩm |
updated_at |
Ngày cập nhật | Ngày cập nhật màu sắc vào sản phẩm |
deleted_at |
Ngày xóa | Ngày xóa xóa dữ liệu màu sắc khỏi sản phẩm |
5. Giao diện danh sách sản phẩm
5.1 Danh sách sản phẩm
Fields(EN) | Fields (VI) | Cột DB | Tên DB | Mô tả |
---|---|---|---|---|
Name | Tên sản phẩm | name |
ecom_summary.product_patterns_summary | Tên của mẫu nón |
Description | Mô tả sản phẩm | description |
ecom_summary.product_patterns_summary | Mô tả sản phẩm |
Images | Ảnh 3D của mẫu nón | image_3d_path |
ecom_summary.product_patterns_summary | Link ảnh 3D của mẫu nón |
Video | Video của mẫu nón | video_path |
ecom_summary.product_patterns_summary | Link video của mẫu nón |
SKU | Mã sản phẩm | code | ecom_summary.product_patterns_summary | Mã sản phẩm |
Select Color | Chọn màu sản phẩm | name | ecom.colors | chọn màu của của mẫu nón |
Select Material | Chọn nguyên phụ liệu | name, code | ecom.material | Mã/Tên Nguyên phụ liệu của mẫu nón |
Select Size | Chọn kích cỡ | name, code | ecom.size | Mã/Tên kích cỡ của mẫu nón |
Select Style | Chọn Kiểu | name, code | ecom.style | Mã/Tên kiểu của mẫu nón |
Select logo | Chọn nguyên logo | name, code | ecom.logo | Mã/Tên Nguyên phụ liệu của logo |
7. Tóm tắt
- Thể hiện chi tiết của sản phẩm và các lựa chọn cho sản phẩm nhầm thêm vào giỏ hàng
Ref task: #1238 - PTAT
Hướng dẫn map dữ liệu dành cho sản phẩm
Hướng dẫn Map Dữ Liệu từ product_pattern_summary
với Các Bảng Thuộc Tính
1. Mô Tả Bảng
product_patterns_summary
Bảng này chứa thông tin tổng hợp về mẫu sản phẩm với cột product_id
đại diện cho sản phẩm.
Fields | Ý nghĩa | Mô tả |
---|---|---|
product_id |
ID mẫu nón | ID mẫu nón từ TTD |
delivery_time_id |
ID thời gian vận chuyển | ID thời gian vận chuyển của mẫu nón |
company_branch_id |
ID chi nhánh | ID chi nhánh của mẫu nón |
material_id |
ID nguyên phụ liệu | ID nguyên phụ liệu của mẫu nón |
hat_models |
Kiểu nón | Kiểu nón của mẫu nón |
product_category_id |
ID danh mục | ID danh mục của mẫu nón |
code |
Code mẫu nón | Code của mẫu nón |
name |
Tên mẫu nón | Tên của mẫu nón |
description |
Mô tả | Mô tả của mẫu nón |
size_id |
ID kích thước | ID kích thước của mẫu nón |
size_code |
Code kích thước | Code của kích thước mẫu nón |
size_name |
Tên kích thước | Tên của kích thước mẫu nón |
logo_id |
ID logo | ID logo của mẫu nón |
logo_code |
Code logo | Code của logo mẫu nón |
logo_name |
Tên logo | Tên của logo mẫu nón |
color_id |
ID màu | ID màu của mẫu nón |
color_code |
Code màu | Code của màu mẫu nón |
color_name |
Tên màu | Tên của màu mẫu nón |
style_id |
ID style | ID style của mẫu nón |
style_code |
Code style | Code của style mẫu nón |
style_name |
Tên style | Tên của style mẫu nón |
video_path |
Đường dẫn video | Đường dẫn video của mẫu nón |
image_3d_path |
Đường dẫn ảnh 3D | Đường dẫn ảnh 3D của mẫu nón |
creator_id |
Người tạo | Người tạo mẫu nón |
created_at |
Ngày tạo | Ngày tạo mẫu nón |
updated_at |
Ngày cập nhật | Ngày cập nhật mẫu nón |
Các Bảng Map
product_logo_maps
id | product_id | logo_id |
---|---|---|
1 | 101 | 10 |
2 | 102 | 11 |
3 | 103 | 12 |
product_style_maps
id | product_id | style_id |
---|---|---|
1 | 101 | 20 |
2 | 102 | 21 |
3 | 103 | 22 |
product_color_maps
id | product_id | color_id |
---|---|---|
1 | 101 | 1 |
2 | 101 | 2 |
3 | 102 | 3 |
4 | 103 | 1 |
product_size_maps
id | product_id | size_id |
---|---|---|
1 | 101 | 30 |
2 | 102 | 31 |
3 | 103 | 32 |
product_material_maps
id | product_id | material_id |
---|---|---|
1 | 101 | 40 |
2 | 102 | 41 |
3 | 103 | 42 |
2. Cách Map Dữ Liệu
Để lấy thông tin đầy đủ về mẫu sản phẩm cùng các thuộc tính, có thể sử dụng truy vấn SQL sau:
SELECT
pps.id AS pattern_id,
pps.product_id,
pps.name,
plm.logo_id,
psm.style_id,
pcm.color_id,
psm2.size_id,
pmm.material_id
FROM product_patterns_summary pps
LEFT JOIN product_logo_maps plm ON pps.product_id = plm.product_id
LEFT JOIN product_style_maps psm ON pps.product_id = psm.product_id
LEFT JOIN product_color_maps pcm ON pps.product_id = pcm.product_id
LEFT JOIN product_size_maps psm2 ON pps.product_id = psm2.product_id
LEFT JOIN product_material_maps pmm ON pps.product_id = pmm.product_id;
Kết Quả Mong Muốn
Pattern ID | Product ID | Tên Mẫu | Logo ID | Style ID | Color ID | Size ID | Material ID |
---|---|---|---|---|---|---|---|
1 | 101 | Pattern A | 10 | 20 | 1 | 30 | 40 |
1 | 101 | Pattern A | 10 | 20 | 2 | 30 | 40 |
2 | 102 | Pattern B | 11 | 21 | 3 | 31 | 41 |
3 | 103 | Pattern C | 12 | 22 | 1 | 32 | 42 |
3. Hướng Dẫn Thêm Dữ Liệu vào Các Bảng Thuộc Tính
1. phpMyAdmin
- Mở phpMyAdmin.
- Chọn cơ sở dữ liệu
ecom
. - Chọn bảng bạn muốn cập nhật (
product_logo_maps
,product_style_maps
,product_color_maps
,product_size_maps
,product_material_maps
). - Nhấp vào tab Insert (Chèn dữ liệu).
- Nhập
product_id
vàid
của các thông tin map như màu sắc từ bảngcolors
, kích cỡ từ bảngsize
, logo từ bảnglogo
, nguyên phụ liệu từ bảngmaterial
, kiểu từ bảngstyle
. - Nhấn Go để lưu dữ liệu.
2. Dùng Giao Diện Dòng Lệnh SQL (nếu có hỗ trợ)
- Mở giao diện SQL (MySQL Workbench, DBeaver, hoặc pgAdmin nếu dùng PostgreSQL).
- Chạy câu lệnh sau:
INSERT INTO product_size_map (product_id, size_id) VALUES (104, 33);
Lệnh trên sẽ thêm một dòng mới với product_id = 104
và size_id = 33
.
4. Tổng Kết
- Map dữ liệu bằng
JOIN
để lấy đầy đủ thông tin sản phẩm. - Người dùng có thể thêm dữ liệu qua phpMyAdmin hoặc giao diện SQL.
- Dễ dàng quản lý các thuộc tính sản phẩm như logo, style, color, size, material.