Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

Dưới đây là phân tích sơ bộ của từng hàm trong mã code của bạn:

UC7:
changeQuantity(HttpServletRequest request, HttpServletResponse response):

Nhận vào HttpServletRequest và HttpServletResponse làm tham số.


Lấy id (ID sản phẩm) và quantity (số lượng mới) từ tham số của request.
Lấy giỏ hàng từ phiên của người dùng (HttpSession).
Lặp qua danh sách chi tiết đơn hàng trong giỏ hàng và tìm chi tiết đơn hàng có
bookId tương ứng với id từ tham số.
Nếu tìm thấy, cập nhật số lượng của chi tiết đơn hàng đó.
Cuối cùng, lưu lại giỏ hàng cập nhật vào phiên.

UC8:
deleteItem(HttpServletRequest request, HttpServletResponse response):

Nhận vào HttpServletRequest và HttpServletResponse làm tham số.


Lấy id (ID sản phẩm) từ tham số của request.
Lấy giỏ hàng từ phiên của người dùng (HttpSession).
Tìm chi tiết đơn hàng có bookId tương ứng với id từ tham số trong danh sách chi
tiết đơn hàng trong giỏ hàng.
Loại bỏ chi tiết đơn hàng đó khỏi giỏ hàng.
Cuối cùng, lưu lại giỏ hàng đã cập nhật vào phiên.

UC9:
purchase(HttpServletRequest request, HttpServletResponse response):

Nhận vào HttpServletRequest và HttpServletResponse làm tham số.


Lấy HttpSession, và các đối tượng DAO (Data Access Object) cho đơn hàng và chi tiết
đơn hàng.
Lấy thông tin về tài khoản, giỏ hàng và danh sách sách từ phiên của người dùng.
Tính tổng số tiền (amount) của giỏ hàng bằng cách gọi phương thức calculateAmount.
Tạo một đối tượng đơn hàng (Order) và thiết lập các thông tin cần thiết như
accountId và amount.
Lưu đơn hàng vào cơ sở dữ liệu và nhận lại orderId sau khi lưu thành công.
Lặp qua danh sách chi tiết đơn hàng trong giỏ hàng, thiết lập orderId cho từng chi
tiết đơn hàng và lưu từng chi tiết đơn hàng vào cơ sở dữ liệu.
Cuối cùng, loại bỏ giỏ hàng khỏi phiên để xem như đã mua hàng xong.
calculateAmount(Order cart, List<Book> list):

Nhận vào đối tượng Order (giỏ hàng) và danh sách các sách.
Tính tổng số tiền của giỏ hàng bằng cách lặp qua danh sách chi tiết đơn hàng trong
giỏ hàng và nhân số lượng của từng sản phẩm với giá của sản phẩm tương ứng, sử dụng
phương thức findPriceById để tìm giá của sản phẩm.
findPriceById(List<Book> list, int bookId):

Nhận vào danh sách các sách và bookId (ID sách).


Lặp qua danh sách sách và tìm sách có bookId tương ứng.
Trả về giá của sách đó nếu tìm thấy hoặc trả về 0 nếu không tìm thấy.

You might also like