feat(aftersale): per-line refund/return flow with ledger-backed completion (add-aftersale-refunds)

This commit is contained in:
Chengdong Zhang
2026-09-23 16:56:30 +08:00
parent 93e5a05d48
commit 2c2b54c21c
43 changed files with 4889 additions and 32 deletions
@@ -0,0 +1,16 @@
## ADDED Requirements
### Requirement: Platform aftersale monitoring and arbitration
The platform admin console SHALL provide a read-only cross-shop aftersale list and detail view with customer, shop, order-item, amount, evidence, status, message history, and refund-total context. A platform administrator SHALL be able to resolve an escalated dispute with a terminal refund or rejection through the guarded service path, without directly editing balances or bypassing shop ownership checks.
#### Scenario: admin inspects a cross-shop application
- **WHEN** a platform administrator opens the aftersale workspace
- **THEN** applications from all shops are listed with filters and authoritative status and refund amounts
#### Scenario: admin grants terminal refund
- **WHEN** a platform administrator resolves an eligible dispute in favor of the customer
- **THEN** the aftersale reaches refunded, the customer ledger is credited once, and the order refund total refreshes from the API
#### Scenario: admin rejects terminal dispute
- **WHEN** a platform administrator rejects an escalated dispute
- **THEN** the aftersale reaches rejected and the console shows that only the permitted one-time customer reopen can resume it