Quản Lý Người Dùng
Quản lý tài khoản người dùng trên Reso — tìm kiếm, lọc theo vai trò/trạng thái, xem chi tiết người dùng, quản lý phân quyền vai trò, cấm và bỏ cấm người dùng.
Quản Lý Người Dùng
![]()
User Management là nơi admin quản lý toàn bộ tài khoản người dùng trên Reso — từ listener, DJ, agency, đến admin. Tại đây bạn có thể tìm kiếm user, xem chi tiết, thay đổi role, và ban/unban khi cần.
Trang Users kéo dữ liệu từ endpoint GET users — hỗ trợ search, filter theo role và status.
Bạn có thể làm gì trong User Management?
| Hành động | Mô tả |
|---|---|
| Xem danh sách user | Tất cả tài khoản trên platform, phân trang |
| Search user | Tìm theo tên, email, số điện thoại, user ID |
| Filter theo role | Lọc theo listener / DJ / agency / admin |
| Filter theo status | Lọc theo active / banned / suspended |
| Xem user detail | Thông tin chi tiết, lịch sử hoạt động, wallet |
| Quản lý role | Thay đổi role user (listener ↔ DJ ↔ agency) |
| Ban / Unban user | Khóa hoặc mở khóa tài khoản |
Danh sách user
Khi vào /admin/users, bạn thấy danh sách tất cả user. Mỗi row hiển thị:
| Trường | Ý nghĩa |
|---|---|
| User | Tên, avatar, email/phone |
| Role | listener / dj / agency / admin |
| Status | active / banned / suspended |
| KYC | Trạng thái KYC (nếu là DJ) |
| Registered | Ngày đăng ký |
| Last active | Lần hoạt động gần nhất |
| Actions | Nút xem detail, ban/unban |
Search và filter
Dùng bộ search + filter để tìm user nhanh trong danh sách lớn:
Tìm theo:
- Tên hiển thị — tên user đặt trong profile
- Email — email đăng ký
- Số điện thoại — phone đăng ký qua OTP
- User ID — ID nội bộ (UUID)
Hữu ích khi user liên hệ support và cần tìm tài khoản nhanh.
- Listener: người xem stream (đa số user)
- DJ: người phát stream (cần KYC để earning)
- Agency: quản lý roster DJ
- Admin: quản trị platform
- Active: tài khoản hoạt động bình thường
- Banned: tài khoản bị khóa vĩnh viễn
- Suspended: tài khoản bị tạm khóa (có thể unban)
Mẹo: Khi cần tìm user bị report, dùng search email/phone từ report detail. Khi cần audit tất cả admin, filter role = admin.
Xem Chi Tiết Người Dùng
Click vào một user để xem chi tiết. Trang detail hiển thị:
| Phần | Nội dung |
|---|---|
| Profile | Tên, avatar, email, phone, ngày sinh, bio |
| Role & status | Role hiện tại, status, lịch sử thay đổi role |
| KYC | Trạng thái KYC, lịch sử submit (nếu là DJ) |
| Wallet | Số dư ví, lịch sử transaction |
| Sessions | Lịch sử livestream (nếu là DJ) |
| Reports | Report liên quan (như reporter hoặc target) |
| Violations | Lịch sử vi phạm (nếu có) |
| Audit trail | Các hành động admin đã làm với user này |
Quản lý role
Admin có thể thay đổi role của user. Đây là quyền mạnh — chỉ dùng khi cần thiết.
Mở user detail
Tìm và click vào user cần đổi role.
Click "Change role"
Trong phần Role & status, click nút "Change role".
Chọn role mới
Chọn role phù hợp:
- Listener → DJ: khi user muốn trở thành DJ (thường user tự đăng ký qua app, nhưng có thể admin set tay)
- DJ → Listener: khi DJ muốn dừng phát stream
- Listener → Agency: khi user là agency quản lý DJ
- → Admin: chỉ khi cấp quyền admin mới — rất hiếm, cần phê duyệt cấp trên
Xác Nhận
Confirm change. Role mới có hiệu lực ngay. User có thể cần re-login để thấy giao diện mới.
Cẩn thận khi set role admin. Admin có toàn quyền platform. Chỉ set admin cho thành viên đội ngũ được ủy quyền rõ ràng. Mọi thay đổi role đều ghi vào audit log.
Cấm Người Dùng
Khi user vi phạm nghiêm trọng (spam, abuse, gian lận), admin có thể ban — khóa tài khoản.
Mở user detail
Tìm user cần ban.
Kiểm tra lịch sử
Xem violations, reports, và audit trail để đảm bảo ban là quyết định đúng.
Click "Ban"
Nút "Ban" (thường màu đỏ) sẽ mở dialog nhập lý do.
Nhập lý do ban
Ghi lý do rõ ràng — ví dụ "Spam chat liên tục sau 3 lần cảnh báo". Lý do gửi cho user và ghi audit log.
Xác Nhận ban
Confirm. User status chuyển sang banned. User không thể đăng nhập hoặc sử dụng platform.
Ban là vĩnh viễn. Nếu chỉ cần tạm khóa, dùng Suspend thay vì ban. Suspend có thể unban sau, ban thì khó revert (cần admin cấp cao).
Bỏ Cấm Người Dùng
Khi user đã ban nhưng cần khôi phục (ví dụ ban nhầm, hoặc user đã sửa sai), admin có thể unban.
Tìm user đã ban
Filter status = banned, hoặc search tên/email.
Mở user detail
Click vào user cần unban.
Click "Unban"
Nút "Unban" sẽ mở dialog xác nhận.
Nhập lý do unban
Ghi lý do — ví dụ "User đã cam kết không tái phạm, khôi phục tài khoản". Lý do ghi audit log.
Xác Nhận unban
Confirm. User status chuyển lại active. User có thể đăng nhập lại.
Suspend vs Ban
| Khía cạnh | Suspend | Ban |
|---|---|---|
| Thời gian | Tạm khóa | Vĩnh viễn |
| Revert | Unban dễ | Khó, cần admin cấp cao |
| Dùng khi | Vi phạm trung bình, cần điều tra thêm | Vi phạm nặng, đã cảnh báo nhiều lần |
| User có biết | Có, nhận notification | Có, nhận notification |
| DJ có phát được | Không | Không |
Với DJ, Suspend được quản lý qua DJ Management — suspend DJ không ban tài khoản, chỉ ngăn phát stream. Với user thường, ban/suspend ảnh hưởng toàn tài khoản.
Workflow quản lý user
Tìm user cần xử lý
Dùng search hoặc filter để tìm nhanh. Nếu từ report/violation, click link từ đó.
Xem Chi Tiết Người Dùng đầy đủ
Kiểm tra role, status, KYC, wallet, sessions, reports, violations. Đừng quyết định chỉ dựa trên 1 thông tin.
Đánh giá mức độ vi phạm
- Vi phạm nhẹ → cảnh báo (notification)
- Vi phạm trung → suspend
- Vi phạm nặng / tái phạm → ban
Thực hiện hành động
Ban/suspend/đổi role với lý do rõ ràng. Mọi action ghi audit log.
Theo Dõi
Sau khi ban/suspend, kiểm tra xem user có tạo tài khoản mới (sock puppet) không. Nếu có, ban tài khoản mới luôn.
Câu Hỏi Thường Gặp
User bị ban có thể tạo tài khoản mới không? Kỹ thuật có thể (vì đăng ký bằng phone/email mới). Nếu phát hiện, ban tài khoản mới. Hệ thống đang phát triển device fingerprint để chống tạo tài khoản ảo.
Tôi có thể ban admin khác không? Chỉ admin cấp cao mới ban được admin cấp thấp hơn. Cấu trúc phân quyền chi tiết xem trong Settings.
Đổi role có ảnh hưởng wallet không? Không. Wallet là của user, không phụ thuộc role. Listener → DJ thì wallet giữ nguyên, chỉ mở thêm tính năng earning.
Sẵn sàng quản lý DJ? Xem DJ Management.