Skip to main content

Tasks — Super Agent → Agent

Spec: superagent-to-agent · Mockup: sell-credit (modal), list, detail

Hiện trạng: Đã có superAgentCreditDistributionBizService.distribute (debit SA wallet, credit agent, PaymentTransaction provider super_agent_cash). UI: SuperAgentAgentCreditTrigger trên Super Agent portal (chỉ amount). Chưa ghi cash_transactions, chưa form đầy đủ.

Phụ thuộc: Backend Phase 1 từ tasks Admin → SA + UI package UI.1–UI.7.

Phạm vi V1: Modal từ Agent detail (Super Agent portal). Status paid_full only. Detail view-only.

UI dùng chung: ui-package-cash-settlement — Super Agent portal chỉ wire API.


Phase 1 — Backend

#TaskGhi chú
1.1Thêm flow super_agent_agent vào cash_transactionsReuse model từ luồng Admin→SA
1.2Refactor superAgentCreditDistributionBizService.distributeTạo cash_transaction; payload: credits, cash_received, payment_method, received_at, external_ref?, note?
1.3Cost rate snapshot = Agent buyerexpected = credits × agent.costRate
1.4Validate SA có đủ credit trước transferLỗi rõ ràng nếu insufficient balance
1.5Validate agent thuộc SA + agent không terminatedGiữ assertManagedAgent
1.6Ghi performed_by = super agent user id
1.7Link cash_transaction ↔ wallet debit/credit tx ↔ payment_transaction
1.8API POST /super-agent/agents/:id/cash-credits (hoặc mở rộng /credits/distribute)Breaking change: cần version body hoặc field mới
1.9Mở rộng GET /super-agent/cash-transactionsFilter flow=SA→Agent; scope theo SA đang login
1.10GET /super-agent/cash-transactions/:idView-only detail
1.11Unit testsInsufficient SA balance, wrong agent, snapshot rate

Phase 2 — Super Agent portal wire

UI: SellCreditsCashModal, PortalCashTransactionsLedger, PortalCashTransactionDetail từ @kioskgaming/ui.

#TaskGhi chú
2.1Agent detail: SellCreditsCashModalflow=super_agent_agent, buyer = agent đang xem
2.2API hook + distributeCreditsToManagedAgent → payload mớiThay SuperAgentAgentCreditTrigger logic
2.3Route list/detail + menu Cash TransactionsCompose components package
2.4Submit → refresh agent + SA wallet balance

Tham chiếu: SuperAgentAgentCreditTrigger.tsx


Phase 3 — Admin visibility (optional V1)

#TaskGhi chú
3.1Admin list hiển thị thêm flow SA→AgentFilter flow trên Admin ledger (đã generic)
3.2Admin detail xem giao dịch SA→AgentCùng PortalCashTransactionDetail

Phase 4 — QA

#TaskGhi chú
4.1SA bán credit → Agent wallet +, SA wallet −
4.2Agent USD wallet không tăngRegression
4.3List/detail SA portal + Admin
4.4Cập nhật spec nếu cần

Liên quan