- 已发运
- 2026年11月8日 01:48 UTC
- 作者
- Kamo
- 承诺
- a9efa84
- An order's engagement now carries the Retail market it was sold in (named, or the org's only one), and the purchasing account. A converted quote stamps its market on the engagement too. - The order list is scoped by market (old market-less orders still show while the market is the org's only Retail one) and is one query plus two grouped reads: no per-row payments, fulfilments and returns. Rows carry the customer in words, market, line count and refunded total. - Market customers come from the market's orders, with walk-in sales counted apart. - Orders get a number when none is typed. DRAFT -> PAID is a counter sale. Clearing the customer makes a walk-in sale. Market can be moved on a draft. - Returns cannot exceed what was bought or what is left to refund; a partial return keeps the order PAID; a direct refund records the reversing payment. - Carts and draft orders convert into real orders (new converted_order_uid columns); market-scoped cart, draft and shipment lists; a typed carrier name finds or creates the carrier; shipments default to PENDING and stamp shipped/delivered times. - Account search is a capped, org-scoped type-ahead instead of loading every account.
