9. Import dữ liệu hiệu suất (Performance Import)#
Mục tiêu#
Cho phép Admin import file CSV chứa dữ liệu hiệu suất nội dung (views, engagement...) từ các nguồn ngoài, phục vụ phân tích tổng hợp.
Luồng nghiệp vụ#
- Admin truy cập trang Performance.
- Click nút Upload CSV → chọn file từ máy.
- Hệ thống validate file:
- Định dạng .csv
- Header đúng chuẩn
- Kích thước file trong giới hạn
- Upload thành công → tạo import job, thêm vào hàng đợi xử lý.
- Hệ thống hiển thị tiến độ job real-time: Pending → Processing → Success / Failed.
- Job hoàn thành:
- Thành công: Toast thông báo + dữ liệu xuất hiện trong bảng Performance
- Thất bại: Hiển thị chi tiết lỗi theo từng dòng (row number, error message)
- Lịch sử import (panel thu gọn/mở rộng): Thời gian, tên file, trạng thái, số dòng xử lý.
- Bảng Performance data hỗ trợ filter, sort, phân trang.
API đã triển khai#
POST /performance/import— Upload file CSVGET /performance/imports— Lịch sử importGET /performance/imports/:id— Chi tiết job import (bao gồm lỗi)GET /performance/data— Dữ liệu performance
Tiêu chí chấp nhận#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-DB.9.1 | Upload CSV hợp lệ | Chọn file .csv đúng format → upload thành công, job được tạo |
| AC-DB.9.2 | Validate format sai | File sai định dạng/header → báo lỗi rõ ràng, không upload |
| AC-DB.9.3 | Tiến độ import | Trạng thái job cập nhật real-time (Pending/Processing/Done) |
| AC-DB.9.4 | Lịch sử import | Panel thu gọn/mở rộng → hiển thị thời gian, tên file, trạng thái, số dòng |
| AC-DB.9.5 | Chi tiết lỗi | Job failed → hiển thị dòng lỗi + lý do (row number, error message) |
| AC-DB.9.6 | Dữ liệu sau import | Import thành công → dữ liệu xuất hiện trong bảng Performance |
| AC-DB.9.7 | Bảng Performance | Hỗ trợ filter, sort, phân trang đúng |