Hệ Thống Bán Sách Online
eBookStore là một hệ thống bán sách online. Hệ thống cung cấp thông tin về hàng ngàn đầu sách, có phân loại sách. Người dùng có thể xem sách theo thể loại, sách mới xuất bản, tìm kiếm sách theo tác giả hoặc tên sách. Người dùng có thể xem thông tin chi tiết về một cuốn sách: tên, giá, nhà xuất bản, mô tả. Người dùng cũng có thể đặt hàng mua sách. Sau đó, người dùng có thể kiểm tra lại tình trạng đơn hàng.
Để phát triển hệ thống, chúng ta sẽ chia ra làm nhiều gia đoạn. Bài này đang ở giai đoạn 1 gồm các việc sau.
Xây Dựng Hệ Thống - Giai Đoạn 3 (nâng cao)
Qua hai giai đoạn phát triển, hệ thống của bạn đã gần hoàn thành. Bạn đã có thể quản trị hệ thống người dùng là khách hàng, hoặc admin (người quản trị). Bạn đã có thể quản trị sản phẩm.
Và bây giờ là chúng ta vào giai đoạn nước rút, chúng ta cần xây dựng hệ thống MUA HÀNG ONLINE. Việc mua hàng trên web sẽ hơi khác một chút và cần phải xử lý thêm phần giỏ hàng ở client. Nhưng ở đây, chúng ta chỉ cần tập trung xử lý phía server, tức là người dùng sẽ chọn hàng, rồi thực hiện thanh toán.
Vậy chúng ta cùng hoàn thiện eBookStore qua các tính năng sau:
7. Tạo giỏ hàng
Người dùng bình thường, chưa hề login, sẽ vào hệ thống, và bạn sẽ hiển thị luôn các sản phẩm cho người dùng. Sau khi hiển thị xong thông tin về danh sách các sản phẩm, bạn sẽ hỏi người dùng là
bạn sẽ chọn mua sản phẩm nào của chúng tôi?.
Hệ thống tạo vòng lặp tới khi người nào chọn N thì thôi, Y là tiếp tục mua.
Mỗi lần mua thì người dùng nhập vào id của sản phẩm, sau đó hệ thống sẽ hiển thị ra danh sách các sản phẩm đã có trong giỏ hàng.
Lưu ý: đoạn này chưa lưu vào trong database, chỉ là lấy thông tin người dùng đã chọn, add vào ArrayList - đây chính là giỏ hàng. Giỏ hàng chứa các thông tin sau: id sản phẩm, tên sản phẩm, giá bán, số lượng, giảm giá nếu có.
Sau khi người dùng chọn N, tức là không tiếp tục chọn sản phẩm nữa. Hệ thống sẽ hỏi tiếp:
bạn có muốn thực hiện thanh toán ko?
Nếu chọn Y thì chuyển sang Checkout, còn nếu N thì giữ nguyên giỏ hàng và quay về sản phẩm.
8. Checkout
Sau khi người dùng chuyển sang checkout, thì bạn cho người dùng đăng nhập vào hệ thống. Thông tin khách hàng coi như bạn đã có trong database ở bảng customer (bỏ qua phần chức năng đăng ký).
Hệ thống sẽ check email của khách hàng, nếu hợp lệ thì hiển thị lựa chọn.
Bạn chọn phương thức thanh toán nào? hiển thị list các loại phương thức thanh toán (COD, Visa), sau đó thì cho người dùng chọn.
(ở đây chúng ta tạm skip các loại chi tiết về thanh toán).
Sau khi chọn loại thanh toán, ta yêu cầu người dùng nhập vào địa chỉ nhận ship.
Hoàn tất quá trình thanh toán.
Gơi ý xử lý bước checkout:
Đến đoạn check out thì toàn bộ thông tin bạn cần lưu vào database. Các việc cơ bản là.
- update số lượng sản phẩm trong Product (vì mua rồi thì trừ số lượng đi).
- thêm mới bản ghi trong Order và Order Details (orders chứa thông tin chung, orderdetails chứa chi tiết sản phẩm đã mua)
Đoạn này nên sử dụng Atomic Transaction để đảm bảo tính toàn vẹn dữ liệu.
9. Review
Sau quá trình hoàn tất thì bạn hiển thị toàn bộ thông tin về hoá đơn lần cuối cho người dùng, giống như cách hệ thống gửi mail xác nhận đơn hàng cho bạn hoặc hệ thống hiển thị trang tóm tắt hoá đơn, hay như khi đi mua hàng người ta có gửi lại bill (hoá đơn chi tiết cho bạn).
Thông tin bao gồm, danh sách hàng đã mua, số tiền cần thanh toán, và địa chỉ nhận ship.
Vậy là tới đây ta đã hoàn tất quá trình xây dựng eBookStore ở mức Core (tập trung xử lý nghiệp vụ).
Hy vọng, với dự án này, các bạn sẽ thành thạo hơn nữa về Java cũng như cách xử lý ArrayList và tương tác với database.
Đăng nhận xét