feat(payments): add Order & Escrow entities with CQRS commands, Prisma schema

- Add Order entity with lifecycle (pending → paid → completed/cancelled/refunded)
- Add Escrow entity with hold/release/dispute flow for secure transactions
- Add PlatformFee value object with tiered commission calculation
- Implement CQRS: CreateOrder, CancelOrder, HoldEscrow, ReleaseEscrow commands
- Add GetOrderStatus query handler
- Add OrdersController with REST endpoints and DTOs
- Add Prisma models for Order, Escrow, EscrowStatusHistory
- Add domain event classes for order and escrow state changes
- Add unit tests for Order, Escrow entities and PlatformFee VO
- Update PROJECT_TRACKER to Wave 14 status

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ho Ngoc Hai
2026-04-12 23:40:00 +07:00
parent 836499c1cf
commit 2c97f99214
42 changed files with 1786 additions and 34 deletions

View File

@@ -1,3 +1,9 @@
export { PaymentCreatedEvent } from './payment-created.event';
export { EscrowDisputedEvent } from './escrow-disputed.event';
export { EscrowHeldEvent } from './escrow-held.event';
export { EscrowReleasedEvent } from './escrow-released.event';
export { OrderCancelledEvent } from './order-cancelled.event';
export { OrderCreatedEvent } from './order-created.event';
export { OrderPaidEvent } from './order-paid.event';
export { PaymentCompletedEvent } from './payment-completed.event';
export { PaymentCreatedEvent } from './payment-created.event';
export { PaymentFailedEvent } from './payment-failed.event';