Appearance
Wallet Module
Mục đích
Quản lý ví tiền, giao dịch, hoa hồng (commission), hoàn tiền (refund) cho nhân viên và khách hàng. Wallet là "hệ thống tài chính nội bộ" của Diva — mọi dòng tiền vào/ra đều đi qua đây.
Quy mô
- Không có FE module riêng; UI wallet nằm phân tán ở nhiều module.
- Phạm vi bao phủ cả ví khách hàng lẫn ví nhân viên.
- Tác động trực tiếp tới commission, refund, payment gateway và báo cáo tài chính nội bộ.
Actors & Permissions
| Role | Quyền | Scope |
|---|---|---|
| Staff (user) | Xem ví bản thân, xem commission | Self |
| Manager (user) | Duyệt giao dịch, xem commission branch | Branch |
| Admin (user) | Toàn quyền ví, giao dịch, refund | System |
| Customer | Xem ví bản thân, yêu cầu rút tiền | Self |
Capability Highlights
| Wallet Type ID | Tên | Currency | Mục đích |
|---|---|---|---|
| VND | Ví tiền mặt | VND | Thanh toán, hoàn tiền |
| COMMISSION | Ví hoa hồng | VND | Commission NV từ đơn hàng |
| VND_PROMOTION | Ví khuyến mãi | VND | Khuyến mãi, không rút được |
| POINT (P) | Ví điểm thưởng | P | Tích điểm, đổi thưởng |
Feature Groups
| Group | Mô tả | Docs |
|---|---|---|
| Giao dịch & Ví | Transaction requests, wallet balance, hold amount | Business |
| Commission | Hoa hồng NV từ đơn hàng, truy thu khi hoàn | Business |
| Hoàn tiền (Refund) | Hoàn tiền đơn hàng, hoàn hoa hồng, hoàn topup | Business |
Liên kết Modules
- ecommerce — đơn hàng tạo commission, hoàn tiền tạo refund request
- user — hiển thị ví NV/KH, lịch sử commission
- salary — commission ảnh hưởng lương
- settings — cấu hình ví khuyến mãi, payment gateway
- notification — gửi ZNS khi nạp/rút thành công
- report — báo cáo hoa hồng, doanh số
Backend Services
| Service | Vai trò |
|---|---|
| wallet-api | Xử lý action (walletBalances, changeStatusTransaction), event triggers (6 handlers) |
| ecommerce-api | Tạo transaction_request khi order paid, refund |
Databases
| DB | Key tables |
|---|---|
| wallet | wallet, wallet_type, transaction, transaction_request, transaction_request_user, wallet_user, payment_gateway, order_commission_refund (view) |
Đặc điểm kiến trúc
Wallet KHÔNG có FE module riêng — UI nằm rải rác trong modules khác (user, ecommerce, settings). Xem chi tiết component list tại wallet.technical.md.
Deep Dives
- transaction-request-and-commission — đào sâu
transaction_request, commission family, hold amount, refund/payout boundary và wallet-runtime drift