Skip to main content

Danh sách lỗi nghiệp vụ và cách xử lý


Edge Cases

1. Đồng thời nhiều giao dịch trên cùng sản phẩm

  • Khi có 2 yêu cầu xuất hàng cùng lúc trên cùng sản phẩm:
    • Giao dịch đầu tiên được xử lý bình thường
    • Giao dịch thứ hai sẽ nhận lỗi STOCK_001
    • Không có giao dịch nào được đợi trong hàng đợi

2. Hàng bán được trả lại

  • Khi khách hàng trả hàng đã bán:
    • Hệ thống không tự động trả lại vào lô hàng cũ
    • Tạo một giao dịch nhập kho riêng biệt với lý do “Trả hàng”
    • Giá vốn lấy theo giá bán của hóa đơn gốc

3. Sản phẩm đổi tên

  • Khi đổi tên sản phẩm:
    • Tất cả lô hàng cũ sẽ được cập nhật tên mới
    • Tất cả log cũ vẫn giữ nguyên tên lúc tạo giao dịch
    • Sẽ có ghi chú rõ ràng về lịch sử thay đổi tên sản phẩm

Fail-safe

  1. Nếu database bị sập: Tất cả thao tác ghi sẽ bị chặn, chỉ cho phép xem dữ liệu
  2. Nếu không ghi được log: Toàn bộ giao dịch sẽ bị rollback hoàn toàn
  3. Nếu phát hiện số liệu không cân bằng: Hệ thống tự động vào chế độ chỉ đọc
  4. Mọi lỗi ngoại lệ không được liệt kê: Hệ thống luôn từ chối giao dịch thay vì cho phép thực hiện với dữ liệu sai