1. 根因:order.items 在結案 build() 當下才即時讀 live buyList,掃碼支付(玉山)流程較慢(掃碼+玉山API約20s),結案前 buyList 會被取消/倒數路徑清空,造成 order.items 變空陣列(無商品紀錄),但出貨其實成功(dispense 有商品)。 2. TransactionFinalizeBuilder 新增 itemsSnapshot 商品明細快照欄位與 captureItems() 方法;buyList 為空時不覆寫既有快照。 3. 抽出共用 buildItemRecords() helper,captureItems() 與 build() fallback 共用。 4. build()/buildOrderPayload() 改為優先採用快照,無快照時才 fallback 讀 live buyList。 5. DispatchDialog onCreate 建立 finalizeBuilder 後立即 captureItems(),此時 buyList 必完整。 6. 升版 verPatch 95 → 96 (S9XYU versionName 21_01_96_R / versionCode 210196)。 正常情況快照==live,逐字等價;僅在 buyList 被清空的 bug 情境修正。純 App 端,不影響後台與線上 main。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| libs | ||
| src | ||
| .gitignore | ||
| build.gradle | ||
| proguard-rules.pro | ||