最近一段時間一直在忙於公司的shopping 的修改,由於以前沒有考慮過商品的不同屬性影響價格(demo 比如一件上衣 color 和 size不同價格有可能就不一樣)。現在要增添這一功能,還要相容原先的邏輯。現在是我糾結的是管理員對新增過的屬性可以任意修改或者刪除。開始考慮的時,一旦管理員設定了某個商品屬性價格,就不讓刪除了。可以修改價格。開發完成後現在需求者不滿意。 今天需求剛確認的邏輯是這樣的,一旦商品購買後新增到購物車,從購物車下訂單,但訂單生成後(庫存會減),不管商品屬性和價格如何變化包括特價銷售等,如果該商品的屬性已經下架或者刪除修改了,該訂單付款時,變成過期的訂單同時購物車裡面這款商品刪除掉,其它的在訂單中商品顯示屬性和價格不變。付過款的訂單保持不變。
經過確認後,自己以前程式碼修改的地方挺多的。原因是由於資料庫中表的設計,目前是這樣的,商品表product 主要欄位有一個庫存和設計是否特銷售和特價銷售時間,還有一個商品分類表category和商品分類屬性表cateattr 舉個例子 一件上衣,有兩個分類 color 和size 其中color 的屬性有green ,red ,black等。 另一個表是動態屬性價格表,目前規定一個商品最多有兩個屬性組合價格表主要欄位有庫存和銷售價格等。不知道這種設計表是否最合理,如果有人更好設計方法,還請提醒小弟一下。