Repository navigation
本版修正一個綠界超商物流的問題,升級後不需要改任何設定。
綠界超商物流:宅配訂單帶著殘留門市資料時,運送地址被換成門市地址(issue #142)
影響對象:有啟用綠界超商取貨,又同時提供宅配(或藍新、速買配超取)的站台。
問題
結帳建立訂單時,只要送出的資料帶有綠界門市代號(CVSStoreID),外掛就會把運送地址換成門市地址,並清空縣市、鄉鎮市區、郵遞區號、公司、地址 2,再寫入門市資料與「取貨門市」備註,完全不看這張訂單實際選的物流。訂單照常成立、沒有任何錯誤提示,商家卻沒有地址可以出貨。
- 3.5.21 以前:顧客「先選綠界超商門市、再改選宅配」就會發生。
- 3.5.22 起:前端切換物流時已會清空門市代號,一般操作不再觸發;但前端腳本被其他腳本中斷、自訂結帳畫面、直接 POST 時仍會發生。
- 藍新超取:藍新只在訂單還沒有門市時才寫入它回傳的門市,殘留的綠界門市一旦被寫入,藍新訂單會一直帶著錯的門市。
修正
- 結帳時先確認本次選的是綠界超商取貨,不是就不寫入門市資料。宅配不會因此被擋單。
- 前端從綠界超取切換到藍新或速買配超取時,也會清掉綠界門市欄位。
- 後台在訂單頁「變更門市」的功能不受影響。
| 宅配訂單帶著殘留門市 | 修正前 | 修正後 |
|---|---|---|
| 運送地址 | 換成門市地址 | 保留顧客填寫的地址 |
| 縣市、郵遞區號、地址 2、公司 | 清空 | 保留 |
| 門市資料、「取貨門市」備註 | 寫入 | 不寫入 |
選綠界超商取貨的訂單行為不變。
注意:已經被清空地址的舊訂單不會自動復原,需要聯絡顧客確認地址。
驗證與已知限制
- 自動測試:整合測試 366 個,365 通過、1 個略過(測試環境未載入 WooCommerce Subscriptions,與上一版相同)。本版新增 9 個測試,用舊版程式跑會失敗。
- 尚未測試:還沒在瀏覽器與正式綠界環境實際下單驗證。
感謝 @Ya19880104 回報並提供完整的重現步驟與原因分析。
Closes #142