Files
vmall/docs/code_index/post-order.md
T

1.4 KiB

Index: Post-order (aftersales, reviews)

Domain design: docs/domains/aftersales-reviews.md. Specs: openspec/specs/aftersale/, reviews/.

Backend (apps/api)

File Holds
src/modules/aftersale/service.rs state machine, refund completion (ledger-backed), arbitration, messages
src/modules/aftersale/handlers.rs /aftersales*, /shop/aftersales*, /admin/aftersales*
src/modules/review/service.rs create/reply/moderate, listing, rating summary, reviewable lines
src/modules/review/handlers.rs /products/{id}/reviews*, /me/reviewable, /reviews, shop/admin routes
migrations/0016_aftersales.sql aftersales + messages, orders.refund_total_minor
migrations/0018_product_reviews.sql product_reviews
tests/aftersales.rs, tests/reviews.rs integration coverage

Shared contract

types.ts: Aftersale*, Review*, ReviewableItem. api.ts: customer aftersale/review methods, shop.* processing, admin.* arbitration/moderation.

Frontends

  • Mall: pages/user/aftersales/{index,[id],apply}.vue, pages/user/reviews.vue, pages/user/orders/[id].vue (apply entry), pages/goods/[id].vue (reviews tab); mock fixtures in mock/api.ts (persisted v6 state)
  • Shop-admin: pages/aftersales/{index,[id]}.vue, pages/reviews.vue
  • Admin: pages/aftersales.vue, pages/reviews.vue