23. Quản lý file dữ liệu & Xuất dữ liệu#
Mục tiêu#
Cho phép Admin tải xuống file dữ liệu (đối soát, thanh toán, analytics) dạng Excel.
Luồng nghiệp vụ#
- Admin thao tác "Xuất dữ liệu".
- Hệ thống tạo request với trạng thái "Đang tạo".
- Background job: truy vấn → tạo Excel → lưu MinIO → cập nhật "Thành công".
- Admin tải file qua link bảo mật (presigned URL, hiệu lực 30 giây).
- Ghi log: user, thời điểm, IP.
API đã triển khai#
POST /data-exports— Tạo yêu cầu xuấtGET /data-exports— Danh sáchGET /data-exports/:id/pre-sign— Lấy link tải
Tiêu chí chấp nhận (Acceptance Criteria)#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-23.1 | Tạo yêu cầu xuất | Nhấn "Xuất dữ liệu" → tạo request trạng thái "Đang tạo", hiển thị trong danh sách |
| AC-23.2 | Xử lý background | Background job chạy → tạo Excel → lưu MinIO → trạng thái "Thành công" |
| AC-23.3 | Tải file | Nhấn tải → presigned URL hiệu lực 30 giây → tải file thành công |
| AC-23.4 | Link hết hạn | Truy cập link sau 30 giây → lỗi access denied |
| AC-23.5 | Ghi log | Mỗi lần tải ghi log: user, thời điểm, IP |