15. Quản lý chiến dịch / Thử thách (Event)#
Mục tiêu#
Cho phép Admin tạo, cấu hình và quản lý các chiến dịch/thử thách truyền thông.
Luồng nghiệp vụ#
- Admin truy cập "Quản lý chiến dịch".
- Tạo mới chiến dịch với thông tin:
- Tên, mô tả, ảnh bìa
- Thời gian bắt đầu – kết thúc
- Loại chiến dịch (ViewBased, Other)
- Điều kiện tham gia
- Hashtag bắt buộc
- Cấu hình cơ cấu thưởng (Event Reward):
- Loại: BY_VIEW (theo lượt xem) / BY_TASK (theo nhiệm vụ)
- Mốc thưởng, số tiền tương ứng
- Quy tắc tính (RewardRule — JSON)
- Quản lý Event Schema: Tạo các template cấu trúc cho chiến dịch.
- Quản lý Event Category: Phân loại chiến dịch theo danh mục.
- Thay đổi trạng thái: DRAFT → ACTIVE → ENDED / CANCELLED.
- Chặn bài đăng mới / Chặn tạo thưởng khi cần.
- Xem thống kê và biểu đồ chiến dịch.
API đã triển khai#
POST /events— Tạo chiến dịchGET /events— Danh sáchGET /events/:id— Chi tiếtPUT /events/:id— Cập nhậtPATCH /events/:id/status— Đổi trạng tháiGET /events/:id/statistic— Thống kêGET /events/:id/chart— Biểu đồPATCH /events/:id/block-user-submit-content— Chặn submitPATCH /events/:id/block-create-reward— Chặn tạo thưởngGET /events/report-statistic— Báo cáo thống kê- CRUD cho Event Schema, Event Category, Event Bonus
Tiêu chí chấp nhận (Acceptance Criteria)#
| # | Tiêu chí | Điều kiện đạt |
|---|---|---|
| AC-15.1 | Tạo chiến dịch | Nhập đầy đủ thông tin → tạo thành công với trạng thái DRAFT |
| AC-15.2 | Cấu hình cơ cấu thưởng | Tạo reward BY_VIEW hoặc BY_TASK → mốc thưởng và số tiền lưu chính xác |
| AC-15.3 | Kích hoạt chiến dịch | Đổi trạng thái DRAFT → ACTIVE → Creator nhìn thấy trên Cổng Influencer |
| AC-15.4 | Kết thúc chiến dịch | Đổi ACTIVE → ENDED → Creator không submit content mới được |
| AC-15.5 | Chặn submit content | Bật chặn → Creator không gửi bài mới cho chiến dịch này |
| AC-15.6 | Thống kê & biểu đồ | Trang chi tiết hiển thị thống kê: tổng content, tổng view, biểu đồ phân bố |
| AC-15.7 | Validate thời gian | Thời gian kết thúc phải sau thời gian bắt đầu |