Xuất dữ liệu (Admin)#
Mục tiêu: Admin tạo job xuất dữ liệu từ hệ thống (đối soát, rút tiền, content, analytics...) và tải file.
Mục tiêu#
- Tạo job export cho 1 trong 14 loại dữ liệu.
- Theo dõi trạng thái job (auto-refresh mỗi 3 giây).
- Tải file về bằng pre-signed URL.
- Lên lịch job cho thời điểm cụ thể.
Điều kiện tiên quyết#
- Có quyền Xuất dữ liệu.
- Xác định rõ loại dữ liệu cần xuất.
Các loại xuất (Type)#
Admin có 14 loại export:
| Type | Nhãn | Mục đích |
|---|---|---|
reconciliation_item | Đối soát | Export các item trong đợt đối soát |
transfer_withdraw | Rút tiền | Danh sách giao dịch rút tiền |
content | Nội dung | Bài dự thi theo filter |
content_chart | Biểu đồ nội dung | Data cho biểu đồ content |
user_chart | Biểu đồ người dùng | Data cho biểu đồ user |
event_chart | Biểu đồ sự kiện | Data cho biểu đồ thử thách |
user_partner | Influencer | Danh sách Influencer |
creator_analytics | Phân tích Influencer | Metrics chi tiết từng Influencer |
transfer_user_cash | Chuyển tiền người dùng | Dòng tiền chuyển cho user |
dashboard_campaigns | Dashboard thử thách | Data giống Dashboard Brand — thử thách |
dashboard_creators | Dashboard Influencer | Data giống Dashboard Brand — Influencer |
dashboard_payments | Dashboard thanh toán | Data giống Dashboard Brand — payments |
dashboard_multi | Dashboard đa | Data aggregate nhiều loại |
user_social | Social người dùng | Danh sách kênh MXH đã link |
Các bước thực hiện#
1. Tạo job xuất#
- Vào menu Xuất dữ liệu / Data.
- Bấm Tạo mới hoặc Tạo xuất dữ liệu.
- Điền form:
- Loại (bắt buộc) — chọn 1 trong 14 types.
- Hẹn giờ (tùy chọn) — tick nếu muốn lên lịch.
- Hẹn giờ vào lúc (nếu hẹn giờ) — chọn ngày/giờ.
- Đối tác (nếu AT multi-partner).
- Bấm Lưu.
- Job xuất hiện trong bảng với status Waiting (cam).
2. Theo dõi trạng thái#
Bảng hiển thị các cột:
| Cột | Ý nghĩa |
|---|---|
| Tên | Tên file (auto-generated) |
| Loại | 1 trong 14 types |
| Ngày tạo | |
| Hẹn giờ vào lúc | (nếu scheduled) |
| Trạng thái | Waiting / Running / Completed / Failed |
| Tải về | Icon Download (chỉ active khi Completed) |
Auto-refresh: Trang tự reload mỗi 3 giây khi có job ở trạng thái waiting hoặc running — bạn không cần F5 thủ công.
3. Tải file#
Khi status = Completed (xanh lá):
- Bấm icon Download trên row.
- Hệ thống gọi API
/data-exports/{id}/pre-signđể lấy pre-signed URL. - File được download trực tiếp.
4. Xử lý job Failed#
Nếu job ở trạng thái Failed (đỏ):
- Hover/click để xem error detail.
- Nguyên nhân thường gặp:
- Dữ liệu quá lớn → chia nhỏ khoảng thời gian.
- Filter không có dữ liệu.
- Lỗi backend tạm thời.
- Retry: tạo job mới với cùng config.
Chi tiết từng bước#
4 trạng thái job#
| Status | Màu | Ý nghĩa |
|---|---|---|
| Waiting | Cam | Trong queue, chờ worker |
| Running | Cyan | Worker đang xử lý |
| Completed | Xanh lá | Xong, có thể tải |
| Failed | Đỏ | Lỗi, cần retry |
Scheduled export#
Dùng khi:
- Cần export vào cuối tháng/quý.
- Export dữ liệu lớn, muốn chạy ngoài giờ cao điểm.
Thao tác:
- Tick Hẹn giờ.
- Chọn thời điểm → job sẽ chạy tự động lúc đó.
Filter#
Bảng job có filter:
- Trạng thái
- Loại
- Đối tác (nếu AT)
Pre-signed URL#
Link tải file có thời hạn (thường vài phút đến 1 giờ). Nếu link hết hạn, click Download lại để lấy URL mới.
Lỗi thường gặp#
1. Job Failed ngay lập tức#
- Config thiếu (Loại, Đối tác).
- Không có quyền xuất loại này.
2. Job chạy lâu không xong#
- Dữ liệu quá lớn. Chia nhỏ period hoặc filter hẹp hơn.
- Queue bận. Chờ thêm hoặc hỏi DevOps.
3. Download không được#
- Pre-signed URL hết hạn → click lại.
- Quyền: bạn không phải owner job. Chỉ owner hoặc super-admin download được.
4. File trống#
- Filter không có dữ liệu tại thời điểm job chạy.
- Loại export không phù hợp cho dữ liệu bạn cần.
5. Mở file CSV bị lỗi font tiếng Việt#
→ Mở Excel → Data → From Text → chọn encoding UTF-8.
Câu hỏi thường gặp (FAQ)#
Các loại xuất có khác file format?
Không, tất cả đều ra XLSX hoặc CSV (tùy cấu hình). Cột và nội dung khác nhau theo type.
Export có ảnh hưởng performance hệ thống không?
Có. Worker chạy query nặng. Scheduled để tránh giờ cao điểm.
File lưu bao lâu?
Thường 30 ngày. Sau đó xóa tự động. Tải về lưu local nếu cần lâu hơn.
Export Dashboard vs Analytics khác nhau?
dashboard_*= data giống như Dashboard Brand (aggregate, analytics-ready).- Các type khác (content, reconciliation_item) = data raw từ DB.
Có API để automation export không?
Có. Backend expose API POST /data-exports. Xin DevOps setup service account + API key.
Liên kết liên quan#
Tham khảo SRS: admin-portal/09-xuat-du-lieu