iT邦幫忙

1

移除商品時,使用者的訂單反應?

想問一個問題
看大家的做法是怎樣

假設有個商品A,ID是1
使用者買了商品A之後建立了訂單,利用關聯性資料庫找到1後去資料表 product 引入該筆商品的資訊
假設某一天刪除了商品A,使用者如果要查看該商品則會錯誤
想問大家的作法如何
我想到了兩個做法

  1. 刪除時將product的商品A資料清空,給一個「已刪除商品圖」,但該商品還在
  2. 創建訂單的時候就把該商品A的商品圖和名稱寫入到訂單中

請問各位的看法是

fysh711426 iT邦研究生 5 級 ‧ 2018-08-20 00:44:40 檢舉
兩種都可以,但如果是需要保留當下狀態的資訊,建議採用第二種方式,因為不只刪除,修改也會間接改變訂單資訊,例如: 修改商品名稱。
0
混水摸魚
iT邦新手 3 級 ‧ 2018-08-20 11:44:52
最佳解答

給你個建議 只要是關聯式的設計 只要有關聯到的資料表就不能刪除
ex 訂單 購物車 會關聯到 產品 只要有產品被加到購物車 產品就不能刪除(但能異動 結帳時再去顯示異動的部份 名稱 或 金額)

後台部份建議你 要有詳細的操作記錄,由其是多權限系統後台(log是自保的好工具丫 雖然前期很麻煩),後續有任何問題誰什麼時候登入,做了什麼異動(可依據log做可逆操作 sql log)

資料寧願多存也不要誤刪~

Neo Chen iT邦新手 5 級 ‧ 2018-08-21 12:48:33 檢舉

我也覺得,資料不能刪,萬一有天要做資料探勘,不就沒資料了?

2
小魚
iT邦好手 1 級 ‧ 2018-08-20 00:24:34

商品A設定啟用 Enabled (布林值) 建立時是1,刪除後是0

echochio iT邦新手 2 級 ‧ 2018-08-20 09:15:05 檢舉

這是比較正確的做法,商品不能移除,要有記錄。
以 ERP 角度看亂帳的可能性很大。
就算同一商品改版名字一樣,其料號不能相同要用 V2 (第二版) .....

好做法!!

0

看樣子完全搞錯…
使用者買了商品A之後建立了訂單,利用關聯性資料庫找到1後去資料表
product 引入該筆商品的資訊 (錯)
Ans: 使用者買了商品A之後建立了訂單,應該複製商品A的資訊到使用者的購買商品表中

0
純真的人
iT邦高手 4 級 ‧ 2018-08-20 09:48:30

通常是導引到商品已不存在的圖~

你去Pchome或雅虎購物時~以前商品被下架時~都是導引到商品已不存在~

如果是消費者要查訂單資料的話~以線上商店的作法~是拍圖存證~

所以訂單資料的購買紀錄都要完整存在~不能因為商品不存在就出現商品查不到@@..

當然沒登入會員是出現商品查不到@@..

0
josephine
iT邦新手 5 級 ‧ 2018-08-26 13:07:58

基本的產品資料是不能刪除的
光是歷史報表就產不出來,而且稽核文件也會對不上
佔的空間不多,就放著吧,省得以後有麻煩

我的作法是有一個IsEnable欄位,值為0時就是假刪除,功能表顯示不出來,但報表則正常
帳號等也建議採用這作法

還有,任何表單都不宜直接對到這個表,試想,管理產品資料庫的人通常不會在刪除產品時,還細心的去檢查目前是否還有此產品的表單,如果直接關聯,所有與此產品對上的表單都會出錯。

我的經驗是複製一筆產品資料到表單內,不是直接關聯,這樣即使產品被刪除,表單也能正確顯示,只有在出貨時,但最好的作法是在SOP中建立產品上下架前的庫存預警,產品刪除要透過程式檢查目前關聯到的表單,而不是直接從資料庫指令刪除....會很慘

我要發表回答

立即登入回答