看板 PHP 關於我們 聯絡資訊
各位好 最近剛開始一個新專案 需要在OpenCart的結構上做修改 和編寫新功能 免不了的要看一下source code 但當我在看有關 OC處理訂單和庫存的部份 可能我比較菜鳥 我看一下程式的流程 只發現他在確認訂單後 對每個訂單中的貨品扣減庫存的程式碼當中 用的SQL只有單純的 : 1. select 2. 把值減去要的貨品 3. update 因為我以前寫Java的網路程式 或是自己曾經寫過的多用戶系統 在這種情 況應該都會用上類似Synchronous(Java) 或是 transaction mode(配合 innodb) 以他這樣的處理方法 會不會做成 庫存不同步? (即多人同時下訂 沒有把庫存上鎖) 還是我哪裏誤會了? 希望有板友解惑 因為初接觸OpenCart 不知是否看錯了甚麼 有些懷疑,感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.246.8.170
olctw:你沒有看錯什麼,基本上很多購物系統並沒有那麼嚴謹,所以在 03/22 03:10
olctw:交易繁忙的時候,這類型程式要把資料弄丟不難,但因為有機會 03/22 03:11
olctw:創造繁忙環境的網站不多,所以這樣的品質是被接受的 ;) 03/22 03:11
MOONRAKER:我們最近就碰到這種同時收到相同request的問題 X( 03/22 08:31
MOONRAKER:不是在購物中 不過也夠嗆了 03/22 08:31
arrack:一天能有千筆訂單以上的網站,相信也有預算去做改版了 03/22 11:16
rockmanalpha:感謝樓上幾位 我懂了 那就先用著吧 等真的很常發生這 03/22 11:22
rockmanalpha:種問題再改成用innodb table跟修改核心程式吧 03/22 11:24